将 $index 添加到 Smarty3 中的字符串末尾
Append $index to the end of the string in Smarty3
我有以下 HTML 代码:
<input type="text"
name="line_item[hotel_info][{{$index}}][second_last_name_{{$index}}]"
value="{{$PREVIOUS_REQUEST.hotel_info.$index.second_last_name_$index}}"
>
将 $index
附加到传递给值的字符串的正确方法是什么?这个 $PREVIOUS_REQUEST.hotel_info.$index.second_last_name_$index
失败了,因为 Smarty 不喜欢字符串末尾的 _$index
。有帮助吗?
更新: 使用 cat
:
我已经尝试使用 cat
修饰符但仍然无效:
{{$PREVIOUS_REQUEST.hotel_info.$index.hotel_name_|cat:$index}}
Return 0
这是 $index
的值,但我需要存储在 var.
中的值
看来您需要使用一个中间变量:
{assign "sln" "second_last_name_$index"}
value="{{$PREVIOUS_REQUEST.hotel_info.$index.$sln}}"
示例:
$PREVIOUS_REQUEST = [ 'hotel_info' => [
0 => [ 'second_last_name_0' => 'foo' ],
1 => [ 'second_last_name_1' => 'bar' ],
]];
$smarty = new \Smarty;
$smarty->assign('PREVIOUS_REQUEST', $PREVIOUS_REQUEST);
$smarty->assign('index', 0);
$smarty->display(<<<'EOTPL'
string:
{assign "sln" "second_last_name_$index"}
index="{{$index}}"
index="{{$sln}}"
value="{{$PREVIOUS_REQUEST.hotel_info.$index.$sln}}"
EOTPL
);
输出:
index="0"
index="second_last_name_0"
value="foo"
我有以下 HTML 代码:
<input type="text"
name="line_item[hotel_info][{{$index}}][second_last_name_{{$index}}]"
value="{{$PREVIOUS_REQUEST.hotel_info.$index.second_last_name_$index}}"
>
将 $index
附加到传递给值的字符串的正确方法是什么?这个 $PREVIOUS_REQUEST.hotel_info.$index.second_last_name_$index
失败了,因为 Smarty 不喜欢字符串末尾的 _$index
。有帮助吗?
更新: 使用 cat
:
我已经尝试使用 cat
修饰符但仍然无效:
{{$PREVIOUS_REQUEST.hotel_info.$index.hotel_name_|cat:$index}}
Return 0
这是 $index
的值,但我需要存储在 var.
看来您需要使用一个中间变量:
{assign "sln" "second_last_name_$index"}
value="{{$PREVIOUS_REQUEST.hotel_info.$index.$sln}}"
示例:
$PREVIOUS_REQUEST = [ 'hotel_info' => [
0 => [ 'second_last_name_0' => 'foo' ],
1 => [ 'second_last_name_1' => 'bar' ],
]];
$smarty = new \Smarty;
$smarty->assign('PREVIOUS_REQUEST', $PREVIOUS_REQUEST);
$smarty->assign('index', 0);
$smarty->display(<<<'EOTPL'
string:
{assign "sln" "second_last_name_$index"}
index="{{$index}}"
index="{{$sln}}"
value="{{$PREVIOUS_REQUEST.hotel_info.$index.$sln}}"
EOTPL
);
输出:
index="0"
index="second_last_name_0"
value="foo"