检测是否已使用Smarty 2勾选了一个复选框数组

时间:2012-05-17 09:05:50

标签: php templates smarty smarty2

在我的Smarty模板中,我有一系列名为“region_codes”的复选框,其中包含值“GB”,“US”,“EU”等等...

这是我的Smarty模板中的代码:

<input type="checkbox" name="region_codes[]" value="{$region_code}" {if isset($smarty.request.region_codes.$region_code)}checked="yes"{/if} />

正如您在代码片段中看到的那样,我试图检测在提交表单时是否勾选了复选框。如何在Smarty中完成,因为上面的代码不起作用。它不会抛出错误,但它看不到提交的值。

编辑:当我打印出来自我的Smarty模板中的请求的region_codes参数时,我得到了这个:

[region_codes] => Array ( [0] => EU [1] => RW )

2 个答案:

答案 0 :(得分:3)

{if $region_code|in_array:$smarty.request.region_codes}checked="yes"{/if}

答案 1 :(得分:1)

将条件更改为

{if $smarty.request.region_codes|in_array:$region_code}checked="yes"{/if}