指定した文字で出力されるデータを分割する
MTプラグイン SplitModifier をアップデート

昨日公開したMTプラグイン SplitModifierを0.1.1にアップデートしました。

導入方法

プラグインのダウンロードは、下記URLからお願いします。

SplitModifier 0.1.1
http://download.d-s-b.jp/MTPlugins/SplitModifier_v0.1.1.zip

ZIPファイルを解凍後にできるフォルダーをMovable Typeのシステムディレクトリ内にある「/plugins/」へコピー(アップロード)してください。

SplitModifier 0.1.1の変更点

SplitModifier 0.1.0からの変更点は、以下のとおりです。

  • 分割後のデータを変数に直接格納するようにしました。
  • 分割後の配列数を取得できるようにしました。
  • データを取得する際の変数名(接頭辞)を変更しました。

SplitModifier プラグインの使い方

今回も、本文に「37.400529,140.359743,15」とGoogle Mapsの座標が入力してあり、
緯度、経度、ズームレベルをそれぞれ取得する場合を例にあげてみます。

split モディファイアを指定したMTタグに、setvar モディファイアを追加することで、
分割後のデータの配列数を取得できます。

<$mt:EntryBody split="," setvar="cnt" $>

分割されたデータは、変数名:var_n(nは1から始まるインデックス番号)で個別に取得できます。

緯度:<$mt:GetVar name="var_1" $>
経度:<$mt:GetVar name="var_2" $>
ズームレベル:<$mt:GetVar name="var_3" $>

また、今回の変更により配列数を取得できるため、MTForタグでのループが可能です。
setvar モディファイアで取得した配列数を利用する場合は、「from="1"」にしてください。

    v=var_<$mt:GetVar name="i" $>
  • <$mt:GetVar name="$v" $>

MTLoopで使いたい・・・とのご要望もいただいたのですが、
BUNの現状のスキルでは、スタティック出力でハッシュに直接代入できませんでした <(^_^;)

そこで、運用ベースの対応で申し訳ありませんが、
下記のような形でご利用いただければ、MTLoopに近いことが可能かなと考えています。


key_1=緯度
key_2=経度
key_3=ズームレベル

このように、キーにあたる値をあらかじめ用意しておいて、MTForでループさせます。
以下のサンプルでは、MTIfで値が空のときはli要素を出力しないようにしています。

    k=key_<$mt:GetVar name="i" $> v=var_<$mt:GetVar name="i" $>
  • <$mt:GetVar name="$k" $>:<$mt:GetVar name="$v" $>

最後に

コメントやフィードバックをいただいたみなさん、ありがとうございました。
お陰様で、とりあえず必要な機能は満たせたかな・・・と、思っています。

なお、ハッシュに格納できたら、またアップデートしたいと思います。
いつになることやら・・・という感じですけどね(笑)

今日は、2月29日です!
・・・とか、言ってみるテスト(笑)

コメントフォーム

トラックバック(0)

トラックバックURL : http://gabs.cc/mt/mt-tb.cgi/tb
※お手数ですが、上記URLの「tb」を「44」に置き換えてPingを送信してください。