Определить, был ли установлен флажок для массива Smarty 2
В моем шаблоне 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, так как приведенный выше код не работает. Не выдает ошибку, но не видит отправленное значение.
РЕДАКТИРОВАТЬ: Когда я распечатываю region_codes
параметр, который приходит через запрос из моего шаблона Smarty, я получаю это:
[region_codes] => Array ( [0] => EU [1] => RW )
2 ответа
Решение
{if $region_code|in_array:$smarty.request.region_codes}checked="yes"{/if}
Измените условие на
{if $smarty.request.region_codes|in_array:$region_code}checked="yes"{/if}