每次将模板包含在另一个模板中时,使用不同变量的smarty策略是什么?
这就是我的意思。 我有一个聪明的模板,可以创建一个简单的导航列表。
<ul class='linkList'>
<li>
<h3>{$title}</h3>
<ul>
{foreach $links as $d}
<li><a title='{$d...}' href='{$d....}'>{$d.text}</a></li>
{/foreach}
</ul>
</li>
</ul>
我想在我的主模板中多次包含它,每次都传递不同的值。我不知道用什么策略来做这件事。
如果我在我的php文件中分配变量,就像这样
$smarty->assign('links',array(.....);
$smarty->assign('title','My first link list');
$smarty->assign('links',array(different values);
$smarty->assign('title','My second link list');
然后包含模板两次我将使用第二批值获得相同的列表两次。
答案 0 :(得分:1)
{include}
标记允许您在调用中传递变量:
{include 'linklist.tpl' title="Sample Links 1" links=$link_array1}
{include 'linklist.tpl' title="Sample Links 2" links=$link_array2}
否则,我非常确定您可以在包含模板之前使用{assign}
或简短形式的assign({$var=value}
)。