JavaScript のプッシュをエミュレートする基本的な Smarty 修飾子を作成しました。
function smarty_modifier_push($array, $push){
if(!isset($array)){
$array = array($push);
}elseif(is_array($array)){
$array[] = $push;
}
return $array;
}
これが私の.tplファイルの私のコードです
Problems:
<select name="problems[]" multiple="multiple">
<option value="">Select Problems</option>
{foreach from=$problems key=id item=name}
{$newArray|push:$id}
<option value="{$id}">{$name}</option>
{/foreach}
</select>
{$newArray}
問題:
ドロップダウンは約 20 の要素で構成されているため、$newArray
約 20 の ID が必要ですが、確認$newArray
すると空です。そのため、修飾子の実行後にテンプレートに割り当てられることはないようです。
事前に .tpl ファイルで使用できることはわかってい{assign var=newArray}
ますが、修飾子関数内から新しい変数を割り当てる方法があることを願っています。また、変数が渡されるため、関数プラグインから可能であることも知ってい$smarty
ますが、具体的に知りたいのは、修飾子プラグインを使用してこれを機能させるにはどうすればよいですか?