merge パラメータは配列のキーを尊重するので、 インデックスが数値である2つの配列をマージする場合、 それらはお互い上書きされるか不連続なキーの配列になるかもしれません。 これは、数値のキーを全て削除した後に再びキーに番号付けを行う、PHP の array_merge() 関数とは違っています。 '> テクニカルノート 選択したコールバック functionarray(&$object, $method) 形式である場合は、 同じ $method を持つクラスのインスタンスをひとつだけ登録できます。 そのような場合は、最後に登録されたコールバック function のみが用いられます。 '> cache_id はオプションのパラメータです。 この関数をコールするたびにこのパラメータを指定するかわりに、変数 $cache_id を使うこともできます。 これは、同じテンプレートを使う異なるコンテンツ (異なる製品を表示するページなど) をキャッシュする場合に使います。 詳細は キャッシュ を参照ください。 '> compile_id はオプションのパラメータです。 この関数をコールするたびにこのパラメータを指定するかわりに、変数 $compile_id を使うこともできます。 これは、同じテンプレートの異なるバージョンをコンパイルしたい場合 (言語ごとに別々にコンパイルしたい場合など) に使います。 '> parent はオプションのパラメータです。 これは、メイン Smarty オブジェクトやユーザが作成したデータオブジェクト、 あるいはユーザが作成したテンプレートオブジェクトなどへのアップリンクです。 これらのオブジェクトは連結することができます。 テンプレートからは、連結したオブジェクト内で代入されたすべての値にアクセスできます。 '> data はオプションのパラメータです。 これは、オブジェクトに代入された変数の 名前/値 のペアを含む連想配列です。 '> 任意の第3パラメータとして $compile_id を渡すことができます。 異なる言語でコンパイルされた別々のテンプレートが存在するような、 同じテンプレートの異なるバージョンをコンパイルしたい場合に利用します。 この関数をコールする度に compile_id を渡す代わりに、一度 $compile_id 変数をセットすることもできます。 '> type にはフィルタの型を定義します。使える値は "pre"、"post"、"output" および "variable" です。 '> type にはプラグインの型を定義します。使える値は "function"、"block"、"compiler" および "modifier" です。 '> name にはプラグインの名前を定義します。 '> PHP 関数のコールバック function は、次のいずれかとなります。 関数名を含んだ文字列 array($object, $method) 形式の配列 ($object はオブジェクトの参照で、 $method はメソッド名を含む文字列) array($class, $method) という形式の配列 ($class はクラス名であり、 $method はクラスのメソッド名) '>