Smarty局部变量与字符串连接
如何将字符串拼接为局部模板变量,如下所示:
{$yes_src=const1.'yes'.const2}
在下面的代码中以{$yes_src}
的方式使用。
解决方案
您的做法是调用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}
.不需要变量。
A备注如果您发现自己使用的assign
多于很少使用的,您可能对将逻辑与表示分离的想法有误解。通常,在涉及模板之前,串联和其他变量工作将在PHP中完成。模板的作用是仅显示数据,您应避免在模板中创建或更改数据。
文档
- 智能引号-http://www.smarty.net/docs/en/language.syntax.quotes.tpl
- Smarty
assign
-http://www.smarty.net/docs/en/language.function.assign.tpl - Smarty
cat
-http://www.smarty.net/docsv2/en/language.modifier.cat
相关文章