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検索結果画面のMTIncludeタグでファイルを読み込む方法
- Movable Typeの月別コンテンツアーカイブリスト用テンプレート
- コンテンツデータでMTEntriesWithSubCategoriesの代替テンプレートタグ
- MTContentFieldタグの使い方
- Movable Typeでブログ記事一覧をカスタムフィールドでソートする方法
- MTの本文フィールドからimg要素のURLを取得する方法
- MTEntriesタグで指定した数の記事を除外して表示する方法
- Movable Typeのテンプレートタグの中でテンプレートタグを使う方法
- Movable Typeのテンプレートタグをテンプレートで生成する方法
- Movable TypeのMTEntriesタグで特定の複数ブログ記事を出力する方法
- Movable TypeでCSVデータからtable要素を作る方法
- MTIncludeタグのnameモディファイア
- Movable Type(MT)の特殊変数の入れ子
- ブロックタグにelseタグを組み込んで判定する
- Movable Type 5 におけるウェブサイトとブログの複数指定方法
「6.テンプレートタグの空判定を簡略化」ですが、
これもMTIfNonZeroタグの簡略化と同様に「MTIfタグ+tagモディファイア」ですよね。
たしかにMTUnlessタグは空判定でしょうが、それならMTIfNonEmptyタグは非空判定ですよね。
>45shiki.netさん
こんばんは。
ご指摘ありがとうございました。
おっしゃるとおりです。記事は修正致しました。