Определить, был ли установлен флажок для массива 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}
Другие вопросы по тегам