【问题标题】:Smarty - same template different contentSmarty - 相同的模板不同的内容
【发布时间】:2010-11-21 05:34:04
【问题描述】:

smarty 中每次将一个模板包含在另一个模板中时使用不同变量的策略是什么?

这就是我的意思。 我有一个 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');

然后将模板包含两次,我将使用第二批值两次获得相同的列表。

【问题讨论】:

    标签: foreach smarty


    【解决方案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})。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多