LoopLimiter Plugin

 Movable Type のあらゆるコンテナタグの中で、たとえば『4回目毎に出現するアイテムに異なったスタイルを適用したい』とかいうような局所的なリクエストが仕事上発生したのでプラグインを書いてみました。

 LoopLimiter.zip

 プラグイン自体や属性の名称については『とりあえず付けた』だけです。まず動作確認したかったので名前についてはこれから考えていくということでご容赦願います。
 使い方は至って簡単で、インストール後に任意のテンプレートの任意のコンテナタグの中に

<$MTLoopLimiter limit="4" offset="2" each="only" rest="notonly"$>

 と書くと、offset=2 なので最初の出現回数2回分は飛ばし、3回目以降については limit=4 なので出現回数4回ごとに each で指定した内容が出力されます。each に該当しない分については rest の内容が出力されます。この例だと、only と出力されるのは6, 10, 14, 18, 22… 回目となります。その他は notonly が出力されます。

<$MTLoopLimiter limit="2" offset="0" each="even" rest="odd"$>

 こう書くとどこかで見たことあるようなプラグインが再現できちゃいます :p

 1テンプレート内の複数箇所で使用したときにそれぞれを独立してカウントできないという致命的なバグがありますので、使用にはご注意ください。

 同じような機能を持ったプラグインがエムロジック放課後プロジェクトで公開されていました。

comments powered by Disqus