expexp.jp

Movable Type

【Movable Type】テキストエリアの値を改行区切りでリストにする

カスタムフィールドやコンテンツタイプのテキストエリアの値(文章)を、改行のところで分割してリストにする方法です。本文でならそのままリストを使えば良いし、コンテンツタイプにもリストのフィールドがあるので、じゃーこれどこで使うかと言われると困りますが、改行ではなく特定の文字で区切る!という他にも応用が出来る内容になっています。

今回もsplitのプラグインが入っている前提です。Movable Type案件ですとMTAppjQueryがセットの場合が多いですしね。入れて損はないです。

やってることはシンプルなので、早速コードから。

コード例

<$MTContentFieldValue split="\n" setvar="hoge_var"$>

<ul>
  <mt:Loop name="hoge_var">
    <li><$MTVar name="__value__"$></li>
  </mt:Loop>
</ul>

上の例はコンテンツタイプですが、カスタムフィールドでも使えます。

解説

<$MTContentFieldValue split="\n" setvar="hoge_var"$>

splitで改行コード(\n:ラインフィード)区切りの配列に変換し、変数へ代入しています。

<ul>
  <mt:Loop name="hoge_var">
    <li><$MTVar name="__value__"$></li>
  </mt:Loop>
</ul>

あとは代入した変数をMTLoopで配列分(改行で区切った分)を繰り返してゴニョゴニョするだけです。

今回は改行コードを使いましたが、splitを使えば改行以外も配列に出来るので応用が出来ます。