Movable Typeで変数に配列を格納する

配列を使って処理をしたいことがあったので、変数に配列を格納してループを回す方法を調べました。

サンプルコード

テンプレート内に配列の各値をベタ書きする場合、以下のようにindexに配列の添え字を指定することで格納できます。

<!-- 変数に配列を格納 -->
<mt:SetVarBlock name="array" index="0">宝多 六花</mt:SetVarBlock>
<mt:SetVarBlock name="array" index="1">新条 アカネ</mt:SetVarBlock>

<!-- 配列の出力 -->
<mt:Loop name="array">
  <mt:Var name="__value__">,
</mt:Loop>

以下のように出力できました。

宝多 六花,
新条 アカネ,

べた書きの時は上記でもよいのですが、ループ処理で配列を格納してから別のループ処理をしたい場合もあります。
例えば、以下のようなカテゴリを設定しているとします。

  • カテゴリ名:カテゴリA
    出力ファイル名:cata
  • カテゴリ名:カテゴリB
    出力ファイル名:catb
  • カテゴリ名:カテゴリC
    出力ファイル名:catc

この各カテゴリの出力ファイル名を配列に格納したい場合、functionで関数を指定することで格納できます。
例えば、配列の末尾に値を追加できるpushを指定してみます。

<!-- 変数に配列を格納 -->
<mt:Categories>
  <mt:SetVarBlock name="array" function="push"><mt:CategoryBasename></mt:SetVarBlock>
</mt:Categories>

<!-- 配列の出力 -->
<mt:Loop name="array">
  <mt:Var name="__value__">,
</mt:Loop>

再構築すると、以下のように出力できました。

cata,
catb,
catc,

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930