TopMovable Typeテンプレートタグ > Movable Type のテンプレートタグでよくある5つの書き間違い
2009年2月25日

Movable Type のテンプレートタグでよくある5つの書き間違い

Posted at February 25,2009 12:55 AM
Category:[テンプレートタグ]
Tag:[, ]

Movable Type でテンプレートタグやテンプレートの実験をするとき、私はいつも手入力で作るため、頻繁に文法誤りをしています。

ここでは、よくありがちな5つの書き間違いを紹介します。

中には、保存や再構築でエラーにならないパターンもあるので、きちんと書いたつもりなのにうまく動かないときなど、参考になれば幸いです。

1.終了タグのスラッシュ抜け

終了タグにスラッシュがありません。終了タグは開始タグをコピー&ペーストして書くので、個人的にはこのパターンが一番多いです。

【誤】

<mt:Entries>
  <$mt:EntryTitle$>
<mt:Entries>

【正】

<mt:Entries>
  <$mt:EntryTitle$>
</mt:Entries>

これは再構築でエラーになるのですぐに分かります。

2.変数の「$」抜け

変数を name モディファイア以外で使うときは、大抵先頭に「$」をつけないといけないのですが、ときどき忘れます。「$」をつけ忘れると、当然、期待した動作になりません。

【誤】

<$mt:BlogEntryCount setvar="foo"$>
<mt:Entries lastn="foo">
   :
</mt:Entries>

【正】

<$mt:BlogEntryCount setvar="foo"$>
<mt:Entries lastn="$foo">
   :
</mt:Entries>

配列変数のインデックスやハッシュ変数のキー、関数、特殊変数で「$」の有無がわけがわからなくなります。下は多分合ってます。

<mt:SetVar name="list{$foo}" value="var" />
<mt:SetVar name="push(list)" value="foo" />
<mt:GetVar name="list[$__counter__]" />

変数の「$」抜けは再構築エラーになりません。

3.空要素のブロックタグ

最後がスラッシュで閉じている、いわゆる空要素のブロックタグは、再構築エラーになりません。

【誤】

<mt:SetVarBlock name="foo" value="var" />

【正】

<mt:SetVar name="foo" value="var" />

または

<mt:SetVarBlock name="foo">var</mt:SetVarBlock>

余談ですが、

<mt:Entires />

も正常に再構築できます。

4.ダブルクォーテーション抜け

正常に再構築できて、正常な結果になりません。気がつかないと、「MTのバグ」で済ませてしまいます。

【誤】

<$mt:SetVar name="foo" value="var$>
<$mt:GetVar name="foo"$>

【正】

<$mt:SetVar name="foo" value="var"$>
<$mt:GetVar name="foo"$>

5.接頭辞(mt:)抜け

もはや、MTMLですらありません。

【誤】

<if>
<div>XXXXX</div>
</if>

【正】

<mt:if>
<div>XXXXX</div>
</mt:if>

あと、長い名前のテンプレートタグを使っていると「mt:」を抜きがちです。EntriesHeader や TopLevelCategories とか。意外に、For や Loop もそのまま書いてしまいます。私だけ?

Posted by yujiro   このページの先頭に戻る
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


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

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

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

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

Now loading...
Introduction
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12