如何使用串联的字符串分配本地模板变量,如下所示:
{$yes_src=const1.'yes'.const2}
Run Code Online (Sandbox Code Playgroud)
以下方式在代码中使用{$yes_src}
.
Chr*_*ker 62
你这样做的方式是调用"简短形式" assign
,你只需要使用正确的引用机制:
{$yes_src="`$const1`yes`$const2`"}
Run Code Online (Sandbox Code Playgroud)
用途assign
:
{assign var="yes_src" val="`$const1`yes`$const2`"}
Run Code Online (Sandbox Code Playgroud)
用途cat
:
{$const1|cat:"yes"}{$const2}
Run Code Online (Sandbox Code Playgroud)
您也可以简单地将变量放在一起,而不将其分配给变量:
{$const1}yes{$const2}
Run Code Online (Sandbox Code Playgroud)
......不需要变量.
注意事项 如果您发现自己使用的assign
次数很少,则可能对将逻辑与表示分离的想法存在误解.通常,在涉及模板之前,可以在PHP中完成连接和其他可变工作.模板的作用是仅显示数据,应避免在模板中创建或更改数据.
文档
assign
- http://www.smarty.net/docs/en/language.function.assign.tplcat
- http://www.smarty.net/docsv2/en/language.modifier.catRok*_*jan 12
{ $yes_src = $variable|cat:"some string"|cat:$variable }
Run Code Online (Sandbox Code Playgroud)
试试这个:
{capture assign=yes_src}{$const1}.'yes'.{$const2}{/capture}
Run Code Online (Sandbox Code Playgroud)
然后使用新变量:
{$yes_src}
Run Code Online (Sandbox Code Playgroud)