Smarty局部变量与字符串连接

时间:2012-06-21 18:23:13

标签: php smarty

如何使用串联的字符串分配本地模板变量,如下所示:

{$yes_src=const1.'yes'.const2}

{$yes_src}的方式在代码中使用。

3 个答案:

答案 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中完成连接和其他可变工作。模板的作用是只显示数据,您应该避免在模板中创建或更改数据。

<强>文档

答案 1 :(得分:12)

{ $yes_src = $variable|cat:"some string"|cat:$variable }

答案 2 :(得分:7)

试试这个:

{capture assign=yes_src}{$const1}.'yes'.{$const2}{/capture}

然后使用新变量:

{$yes_src}