MTSetVarにおけるfunctionモデファイア(delete関数)
MTSetVarテンプレートタグにおけるfunctionモデファイアの中で、deleteという関数がありますが、これは「ハッシュ変数をクリアする」という機能を持ちます。キー、値ともにクリアされます。
例えば、MyHomeというハッシュがあり、数個のデータがあるとします。MTSetVarで同じ変数名を指定しつつ keyモデファイアでクリアしたいキー、functionモデファイアでdeleteという関数を指定すると、指定キーのキーと値をセットでクリアできます。
書式例
<MTSetVar name="MyHome" function="delete" key="Person2">
図解
実行前
- キー:値
- Person1:GrandFather
- Person2:GrandMother
- Person3:Father
- Person4:Mother
- Person5:Brother
- Person6:Me
<MTSetVar name="MyHome" function="delete" key="Person2">を追加すると...
keyモデファイアで指定したPerson2のキーと値のセットがクリアされます。
なお、keyモデファイアを省略することはできません。省略すると再構築にてエラーが発生します。
- Person1:GrandFather
- Person3:Father
- Person4:Mother
- Person5:Brother
- Person6:Me
一連のテストコード例
<MTSetvar name="MyHome" key="Person1" value="GrandFather">
<MTSetvar name="MyHome" key="Person2" value="GrandMother">
<MTSetvar name="MyHome" key="Person3" value="Father">
<MTSetvar name="MyHome" key="Person4" value="Mother">
<MTSetvar name="MyHome" key="Person5" value="Brother">
<MTSetvar name="MyHome" key="Person6" value="Me">
<mt:loop name="MyHome" sort_by="key">
<p><$mt:getvar name="__key__"$> <$mt:getvar name="__value__"$></p>
</mt:loop>
<!-- key="Person2"を削除 -->
<MTSetVar name="MyHome" function="delete" key="Person2">
<mt:loop name="MyHome" sort_by="key">
<p><$mt:getvar name="__key__"$> <$mt:getvar name="__value__"$></p>
</mt:loop>
短縮形
このコードは、<MTSetVar name="delete(MyHome)" key="Person2">と記述することもできます。
- ページ先頭へ
- 前のエントリ: MTSetVarにおけるfunctionモデファイア(undef関数)
- カテゴリ:SetVar系