エントリー本文
Movable Type テンプレートタグの簡略化まとめ
Movable Type のテンプレートタグの簡略化についてまとめました。とりあえず思いついたものを並べておきます。
一部のより詳細な情報は、「blog.aklaswad.com - MTタグの書き方を調べてみました。」にありますので、そちらをご覧ください。
1.name モディファイアの簡略化
テンプレートタグの name モディファイアは、値以外の部分を省略できます。
1.1 ファンクションタグの場合
変更前
<$mt:SetVar name="foo" value="1"$>
変更後
<$mt:SetVar foo value="1"$>
1.2 ブロックタグの場合
変更前
<mt:If name="__first__">
...中略...
</mt:If>
変更後
<mt:If __first__>
...中略...
</mt:If>
2.変数の設定・取得の簡略化
MTSetVar タグ、MTGetVar タグは MTVar タグで置き換えられます。
変更前
<$mt:SetVar name="foo" value="1"$>
<$mt:GetVar name="foo"$>
変更後
<$mt:Var name="foo" value="1"$>
<$mt:Var name="foo"$>
1項の省略記法を追加
<$mt:Var foo value="1"$>
<$mt:Var foo$>
3.配列の設定を簡略化
配列に値を設定するには、[] または index モディファイアを利用しますが、value モディファイアをカンマやコロンで区切れば、まとめて記述できます。
変更前
<$mt:SetVar name="foo[0]" value="0"$>
<$mt:SetVar name="foo[1]" value="1"$>
<$mt:SetVar name="foo[2]" value="2"$>
変更後1
<$mt:SetVar name="foo" value="0","1","2"$>
変更後2
<$mt:SetVar name="foo" value="0":"1":"2"$>
4.複数の変数設定の簡略化
複数の変数を設定するには、MTSetVars タグを使用します。
変更前
<$mt:SetVar name="a" value="1"$>
<$mt:SetVar name="b" value="2"$>
<$mt:SetVar name="c" value="3"$>
<$mt:SetVar name="d" value="4"$>
<$mt:SetVar name="e" value="5"$>
変更後
<mt:SetVars>
a=1
b=2
c=3
d=4
e=5
</mt:SetVars>
参考:1項・2項の簡略化を行なった場合
<$mt:Var a value="1"$>
<$mt:Var b value="2"$>
<$mt:Var c value="3"$>
<$mt:Var d value="4"$>
<$mt:Var e value="5"$>
5.テンプレートタグの非 0 判定を簡略化
MTIfNonZero タグは、「MTIf タグ+tag モディファイア」で置き換えられます。
変更前
<mt:IfNonZero tag="MTBlogEntryCount">
...中略...
</mt:IfNonZero>
変更後
<mt:If tag="BlogEntryCount">
...中略...
</mt:If>
6.テンプレートタグの非空き判定を簡略化
MTIfNonEmpty タグは、「MTIf タグ+tag モディファイア」で置き換えられます。
変更前
<mt:IfNonEmpty tag="MTEntryMore">
...中略...
</mt:IfNonEmpty>
変更後
<mt:If tag="EntryMore">
...中略...
</mt:If>
7.ファンクションタグの内容を変数に設定する場合の簡略化
ファンクションタグの内容を変数に設定するには、MTSetVarBlock タグを利用する代わりに、setvar モディファイアを利用することで簡略化できます。
変更前
<mt:SetVarBlock name="blog_url"><$mt:BlogURL$></mt:SetVarBlock>
変更後
<$mt:BlogURL setvar="blog_url"$>
8.変数の内容を他の変数に設定する場合の簡略化
変数の内容を他の変数に代入するには、MTGetVar タグと MTSetVarBlock タグを併用する代わりに、setvar モディファイアを利用することで簡略化できます。
例:変数 foo の値(1)を、変数 bar に設定
変更前
<$mt:SetVar name="foo" value="1"$>
<mt:SetVarBlock name="bar"><$mt:Getvar name="foo" value="1"$></mt:SetVarBlock>
変更後
<$mt:SetVar name="foo" value="10"$>
<$mt:GetVar name="foo" setvar="bar"$>
1項・2項の省略記法を追加
<$mt:Var foo value="10"$>
<$mt:Var foo setvar="bar"$>
ついでに「$」や「:」も削除
<mtVar foo value="10">
<mtVar foo setvar="bar">
2010.01.31
5項・6項の記載を修正しました。
- 実験!Movable Typeラボラトリー
- 特定のカテゴリーに属するブログ記事一覧を表示する(改)
- Movable Type(MT)テンプレート
- Movable Type 4 のカテゴリーアーカイブで全てのブログ記事を表示する
- カテゴリーの階層別にデザインを切り替える for Movable Type 4
- カテゴリーリストをサブカテゴリー表示に切り替える
- カテゴリーアーカイブで全サブカテゴリーリストを表示
- Movable Type 4.1 カスタムフィールドの使用方法
- カテゴリーアーカイブのサブカテゴリーリストに、親カテゴリーとその子カテゴリーを表示する
- Movable Type プラグイン一覧(MT4対応)
「6.テンプレートタグの空判定を簡略化」ですが、
これもMTIfNonZeroタグの簡略化と同様に「MTIfタグ+tagモディファイア」ですよね。
たしかにMTUnlessタグは空判定でしょうが、それならMTIfNonEmptyタグは非空判定ですよね。
>45shiki.netさん
こんばんは。
ご指摘ありがとうございました。
おっしゃるとおりです。記事は修正致しました。
