Smarty局部变量与字符串连接

2022-04-07 00:00:00 php 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
  • Smartyassign-http://www.smarty.net/docs/en/language.function.assign.tpl
  • Smartycat-http://www.smarty.net/docsv2/en/language.modifier.cat

相关文章