Smarty,使用包含模板中的模板函数

问题描述 投票:1回答:2

我有一个像这样的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}

错误信息是:

第29行“{homebuilder data = $ data.Content}”模板“/home/master/projet/public/templates/controllers/pagebuilder-preview.tpl”中的语法错误“pagebuilder”

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

smarty smarty3
2个回答
1
投票

必须使用{call}标记调用外部定义的模板函数。因此,您的基本模板应重新编写为:

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

0
投票

尝试使用assign:

{include file='includes/test.tpl' assign=pagebuilder}
© www.soinside.com 2019 - 2024. All rights reserved.