個人のプロフィールのようないくつかのフィールドがあり、各フィールドにはいくつかのオプションがあります。
例えば
Age (10-15, 15-20, 20-25)
Category (X, Y, Z)
および他のいくつかのフィールド。
これらすべてのフィールドとそのオプション値をチェックボックスとして含む検索ページがあります。したがって、現在、以下のfor-eachループを使用してこれらの値を出力しています
{foreach from=$field.options item=options}
<input name="{$field.field_search_name}[]" type="checkbox" value="{$options.url}" />
{$options.caption}
{/foreach}
問題は、送信前に選択されたすべてのフィールドを作成することです。POST 配列から選択されたものとして表示する必要があります。
「category[]」のような静的なチェックボックス名があれば、以下のようにできたはずです。
{if in_array($options.url, $smarty.post.category)} checked {/if}
しかし、私の場合、チェックボックス名も動的であり、smarty テンプレートでのみ定義されているため、これを回避する方法がわかりません。以下のようなことに取り組む必要があります。smarty でこれを行うことが可能かどうか教えてください。
{if in_array($options.url, $smarty.post.$field.field_search_name)} checked {/if}