PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] アルファサードの冬期休業について を追加しました。
[よくあるご質問] サポートサイトへ複数のアカウントを作成できますか? を追加しました。

MTSetVarBlock

MTSetVarBlock

ブロックタグで囲まれた内容を、変数として値を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。

囲まれた内容に含まれるスペースや改行などもふくめた全てが変数の値となります。

MTSetVarTemplate ブロックタグとの違いは、ブロックした内容が処理された結果が値となるか、処理されずブロックしたテンプレートが値となるかです。MTSetVarBlock はブロックした内容が処理された結果が値となります。

設定した値は $name_foo として、モディファイアの値としても利用することができます。

変数の名前に、ハイフンを利用すると、$name_fooのような$を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控え下さい。

使い方

<MTSetVarBlock name="name_foo">
  <!-- do something -->
</MTSetVarBlock>

モディファイア

name="name_foo"

値を代入する変数の名前を指定します。

append="0 | 1"

値に 1 を設定すると、変数に代入されている値の後に、値を連結します。

prepend="0 | 1"

値に 1 を設定すると、変数に代入されている値の前に、値を連結します。

op="演算子"

演算子を指定することで値に対して四則計算が可能です。詳細はテンプレートタグで利用できる演算関数を参照してください。

index

配列のインデックス(添え字)を指定します。

配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき index に 0 以外を指定すると、sparse array を作成します。

<MTSetVarBlock name="foo" index="0" value="x">

このMTタグは、以下のようにも書くことができます。

<MTSetVarBlock name="foo[0]" value="x">

名前[添え字] という記述が index モディファイアの代わりです。

key

ハッシュのキーを指定します。

ハッシュ変数が存在しない場合は指定された名前のハッシュ変数を新しく作成して、キーと値のペアを設定します。

<MTSetVarBlock name="bar" key="a" value="x">

このMTタグは、以下のようにも書くことができます。

<MTSetVarBlock name="bar{a}" value="x">

名前{キー} という記述が key モディファイアの代わりです。

function

配列やハッシュ変数に値を設定するときに実行する関数の名前を指定します。利用できる名前は以下のとおりです。

  • push - 配列変数の一番上(または一番最後)に新しい値を追加します。
  • unshift - 配列変数の一番下(または一番最初)に新しい値を追加します。
  • undef - 配列またはハッシュ変数をクリアします。
  • delete - key モディファイアで指定されたキーと値のペアをハッシュ変数から削除します。
<MTSetVarBlock name="foo" function="push" value="x">

このMTタグは、以下のようにも書くことができます。

<MTSetVarBlock name="push(foo)" value="x">

関数名(名前) という記述が function モディファイアの代わりです。

MTSetVarBlock と関連のあるテンプレートタグ (8)