Movable Type テンプレートタグの簡略化まとめ

Movable Type テンプレートタグの簡略化まとめ

Posted at June 18,2009 1:55 AM
Tag:[MovableType, TemplateTag]

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項の記載を修正しました。

関連記事
トラックバックURL


コメント

「6.テンプレートタグの空判定を簡略化」ですが、
これもMTIfNonZeroタグの簡略化と同様に「MTIfタグ+tagモディファイア」ですよね。

たしかにMTUnlessタグは空判定でしょうが、それならMTIfNonEmptyタグは非空判定ですよね。

[1] Posted by 45shiki.net logo : January 31, 2010 12:24 AM

>45shiki.netさん
こんばんは。
ご指摘ありがとうございました。
おっしゃるとおりです。記事は修正致しました。

[2] Posted by yujiro logo : January 31, 2010 10:24 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)