我有一个像这样的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
错误并正确使用包含模板中的函数?
必须使用{call}
标记调用外部定义的模板函数。因此,您的基本模板应重新编写为:
<div>
{include file='includes/test.tpl'}
# {pagebuilder data=$data.top_description}
{call name=pagebuilder data=$data.top_description}
</div>
尝试使用assign:
{include file='includes/test.tpl' assign=pagebuilder}