Movable Type プラグインディレクトリ
Compare Plugin for Movable Type
MTタグの値を元にした条件分岐の機能を追加します。標準で<MTIfNonZero>や<MTIfNonEmpty>という、MTタグの値が0や空でないかを判定するタグはありますが、このプラグインを使うと、MTタグの値を文字列と比較したり、数値の大小の比較をすることもできます。
インストール方法
- ダウンロードしたアーカイブを解凍します。
- 解凍して生成された[Compare.pl]ファイルを、Movable Typeの[plugins]ディレクトリにアップロードします。
使い方
テンプレート中、条件分岐を行いたい箇所にタグを挿入します。
基本的な使い方は、「a」というアトリビュートに指定した値と、「b」というアトリビュートに指定した値とを比較させることになります。
<MTIfEqual a="[MTEntryAuthor]" b="[MTEntryAuthorNickname]">
<$MTEntryAuthor$>
</MTIfEqual>
MTタグを比較対象として指定したい場合は、タグを意味する<、>、$を除き[ ]で囲みます。たとえば<$MTEntryTitle$>は[MTEntryTitle]となります。
比較の際のオプションとして、以下の2つのアトリビュートを指定できます。
- numeric="1"
- 標準では指定された値は文字列として比較されますが、numeric="1"を指定すると数値として比較するようになります。 たとえば、文字列で比較した場合"9"は"10"よりも大きくなってしまいます。
Compareプラグインでは以下のタグを用意しています。
- MTIfEqual
- aの値とbの値が等しいかを判定します。必要ならばb1, b2,... と複数の値と比較することができます。 以下の例では、<$MTEntryAuthor$>の値がBobかCarolかTedかAliceであれば画像を表示します。
<MTIfEqual a="[MTEntryAuthor]" b="Bob" b1="Carol" b2="Ted" b3="Alice"> <img src="/images/special_people.gif"> </MTIfEqual>
- MTIfNotEqual
- aの値とbの値がが等しくないかを判定します。必要ならばb1, b2,... と複数の値と比較することができます。 以下の例では、showed_already変数がyesで無ければsidebarモジュールをインクルードします。
<MTIfNotEqual a="[MTGetVar name='showed_already']" b="yes"> <$MTInclude module="sidebar"$> </MTIfNotEqual>
- MTIfGreater
- aの値がbの値より大きいかを判定します。 以下の例では、トラックバックの数が10より多ければ画像を表示します。
<MTIfGreater a="[MTEntryTrackbackCount]" b="10" numeric="1"> <img src="/images/popular_entry.gif"> </MTIfGreater>
- MTIfGreaterOrEqual
- aの値がbの値以上かを判定します。 MTIfGreaterはa=bの時は動作しませんが、MTIfGreaterOrEqualであれば動作します。
- MTIfLess
- aの値がbの値より小さいかを判定します。
- MTIfLessOrEqual
- aの値がbの以下かを判定します。
- MTIfBetween
- aの値がlowerの値とupperの値の間にあるかを判定します。 以下の例では、コメントの数によって異なるテキストを表示します。
<MTIfEqual a="[MTEntryCommentCount]" b="0" numeric="1"> コメントはまだありません。 </MTIfEqual> <MTIfBetween a="[MTEntryCommentCount]" lower="1" upper="10" numeric="1"> そこそこ人気のあるエントリーです。 </MTIfBetween> <MTIfBetween a="[MTEntryCommentCount]" lower="11" upper="30" numeric="1"> 活発な議論が交わされています! </MTIfBetween> <MTIfGreater a="[MTEntryCommentCount]" b="30" numeric="1"> コメントしすぎ! </MTIfGreater>
- MTIfNotBetween
- aの値がlowerの値とupperの値の間にないかを判定します。 lower/upperの値と等しい場合は動作しません。
- MTIfBetweenExclusive
- aの値がlowerの値とupperの値の間にあるかを判定します。 lower/upperの値と等しい場合は動作しません。
カスタマイズ情報
<MTElse>と組み合わせて使用することで、条件にあてはまる場合とあてはまらない場合それぞれの動作を指定することができます。
<MTIfEqual a="[MTEntryAuthor]" b="[MTEntryAuthorNickname]"> <$MTEntryAuthor$> <MTElse> <$MTEntryAuthorNickname$>(<$MTEntryAuthor$>) </MTElse> </MTIfEqual>
その他付加情報
特になし
利用規約
特になし
トラックバック
- トラックバック URL
- »Movable Type導入記(その2:リンクページを作成する) from いるすか
-
さて,いよいよリンクページの作成に入る. テンプレートとしては一番技巧を凝らす羽...