将字符串预先添加到Smarty变量

时间:2013-07-22 08:57:19

标签: php smarty smarty3

我正在寻找一种方法将字符串添加到Smarty变量。我有一个动态表单,其元素名称如input-1(其中1是设置/字段的ID)。

我已尝试使用{capture}{/capture}执行此操作,但这似乎仅在第一次工作时(因为字段由循环显示)。

对于Smarty来说,|cat:'text'是否存在相反的功能,或者我必须:

  1. 创建我自己的修饰符
  2. 重命名输入

2 个答案:

答案 0 :(得分:0)

我不确定我理解你想要达到的目标,但是cat有一种替代语法,使用反引号(以及更优雅和清晰的imho):

使用cat:

{"my string"|cat:$my_var|cat:"other string"|cat:$other_var}

同样,使用bacticks:

{"my string `$my_var` other string `$other_var`"}

使用反引号,您可以轻松地将变量放在字符串中的任何位置:

{"input-`$id`"}

答案 1 :(得分:0)

你真的需要变量吗?我经常做这样的事情:

<input name="input-{$id}" type="..." />

如果您需要变量,可以使用{assign}

{assign var="name" value="input-$id"}
<input name="{$name}" type="..." />