聪明的局部变量与字符串连接


Smarty local variable concatenation with string

如何分配一个本地模板变量,并连接一个字符串,如下所示:

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

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

顺便说一下,我正在寻找PHP开发人员的工作:)

你这样做的方式叫做assign的"简写形式",你只需要使用正确的引用机制:

 {$yes_src="`$const1`yes`$const2`"}

使用assign

{assign var="yes_src" val="`$const1`yes`$const2`"}

使用cat

{$const1|cat:"yes"}{$const2}

您也可以简单地将变量彼此相邻放置,而无需将其分配给变量:

{$const1}yes{$const2}

。无需变量。

注释 如果您发现自己很少使用assign,您可能会对将逻辑与表示分开的想法产生误解。通常,在涉及模板之前,串联和其他变量工作将在PHP中完成。模板的作用是仅显示数据,应避免在模板中创建或更改数据。

文档

  • 聪明的报价 - http://www.smarty.net/docs/en/language.syntax.quotes.tpl
  • 聪明的assign - http://www.smarty.net/docs/en/language.function.assign.tpl
  • 聪明的cat - http://www.smarty.net/docsv2/en/language.modifier.cat
{ $yes_src = $variable|cat:"some string"|cat:$variable }

试试这个:

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

然后使用新变量:

{$yes_src}