【问题标题】:Smarty, use template functions from included templateSmarty,使用包含模板中的模板函数
【发布时间】:2017-05-19 01:37:48
【问题描述】:

我有一个这样的 Smarty(3.1.21 版)模板:

<div>
    {include file='includes/test.tpl'}
    {pagebuilder data=$data.top_description}
</div>

includes/test.tpl内容是:

{function name=pagebuilder}
    {foreach $data as $row}
       ...
    {/foreach}
{/function}

错误信息是:

模板中的语法错误 “/home/master/projet/public/templates/controllers/pagebuilder-preview.tpl” 在第 29 行“{pagebuilder data=$data.Content}”未知标签 “页面构建器”

如何在包含文件后省略unknown tag错误并正确使用包含模板中的功能?

【问题讨论】:

    标签: smarty smarty3


    【解决方案1】:

    必须使用{call} 标记调用外部定义的模板函数。 所以你的基础模板应该重写为:

    <div>
        {include file='includes/test.tpl'}
        # {pagebuilder data=$data.top_description} 
        {call name=pagebuilder data=$data.top_description}
    </div>
    

    【讨论】:

      【解决方案2】:

      尝试使用分配:

      {include file='includes/test.tpl' assign=pagebuilder}
      

      【讨论】:

      • 谢谢,但同样的问题:(
      猜你喜欢
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2015-07-05
      相关资源
      最近更新 更多