{call} 执行函数

{call} 标签用于执行函数,配合 {function} 使用。

参数名 类型 必需 说明
fn sting Yes 函数名称
var…. any No 传递的参数

 

 

{* this will print literal delimiters out of the template *}
{assign var=list value=[
['name'=>'目录1','items'=>[['name'=>'目录1-导航1'],['name'=>'目录1-导航2'],['name'=>'目录1-导航3']]],
['name'=>'目录2','items'=>[['name'=>'目录2-导航1'],['name'=>'目录2-导航2'],['name'=>'目录2-导航3']]]
]}

{function fn=menu data=[] level=0}
    <ul class="level{$level}">
        {foreach from=$data item=entry}
            {if isset($entry.items)}
                <li>{$entry.name}</li>
                {* 递归调用 *}
                {call fn=menu data=$entry.items level=$level+1}
            {else}
                <li>{$entry.name}</li>
            {/if}
        {/foreach}
    </ul>
{/function}

//调用函数-----------
{call fn=menu data=$list}

 

Copyright © 2021 海南的叶子 All Rights Reserved 琼ICP备2021000725号

琼公网安备 46900702000037号