我有一个像这样的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}”未知标记 “pagebuilder”
如何在包含文件之后忽略unknown tag
错误并正确使用附带模板中的函数?
答案 0 :(得分:0)
尝试使用assign:
{include file='includes/test.tpl' assign=pagebuilder}
答案 1 :(得分:0)
必须使用{call}
标签来调用外部定义的模板函数。
因此,您的基本模板应重写为:
<div>
{include file='includes/test.tpl'}
# {pagebuilder data=$data.top_description}
{call name=pagebuilder data=$data.top_description}
</div>