{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}