如何使用串联的字符串分配本地模板变量,如下所示:
{$yes_src=const1.'yes'.const2}
以{$yes_src}
的方式在代码中使用。
答案 0 :(得分:58)
您这样做的方式是调用assign
的“简短格式”,您只需要使用correct quoting mechanism:
{$yes_src="`$const1`yes`$const2`"}
使用assign
:
{assign var="yes_src" val="`$const1`yes`$const2`"}
使用cat
:
{$const1|cat:"yes"}{$const2}
您也可以简单地将变量放在一起,而不将其分配给变量:
{$const1}yes{$const2}
......无需变量。
注意事项如果您发现自己使用assign
而不是很少,则可能会对将逻辑与表示分离的想法产生误解。通常,在涉及模板之前,可以在PHP中完成连接和其他可变工作。模板的作用是只显示数据,您应该避免在模板中创建或更改数据。
<强>文档强>
assign
- http://www.smarty.net/docs/en/language.function.assign.tpl cat
- http://www.smarty.net/docsv2/en/language.modifier.cat 答案 1 :(得分:12)
{ $yes_src = $variable|cat:"some string"|cat:$variable }
答案 2 :(得分:7)
试试这个:
{capture assign=yes_src}{$const1}.'yes'.{$const2}{/capture}
然后使用新变量:
{$yes_src}