Movable Type のデフォルトのテンプレートのヘッダー部分を一つにまとめてみた

2009-06-12
7分で読了
更新: 2025-12-14

目次

Movable Type 4.2 のデフォルトのテンプレート(既存のブログ)のヘッダー構造を一つにまとめてみました。

デフォルトのテンプレートのヘッダー部分は、本当に共通する部分のみ「HTMLヘッダー」というテンプレートモジュールになっていて、その他は各テンプレートに直接書かれています。

これは構造は、Webデザイナーにとってもテンプレートの構造をイメージしやすいようにと、Movable Type 4.2 から取り入れられたんだったと思います。

例えば、メインページ(main_index)であれば次のような構造になっています。




 <$mt:Include module="HTMLヘッダー"$>
 " />
 <$mt:BlogName encode_html="1"$>

確かにこれだけ見ると、テンプレートの構造は理解しやすいです。

しかし、例えば「xml宣言を入れよう」と思ったとき、関連する全テンプレートを修正しなければならないので、ちょっと手間です。

また、テンプレートの種類によっては、「HTMLヘッダー」モジュールをインクルードする前後どちらかに JavaScript が書かれていたり、前後のアーカイブページへの link要素があったりと、サイト全体を通してイメージが掴みにくいように思います。

そこで、デフォルトのテンプレートのヘッダー部分を一つにまとめてみました。

ただし、純粋にデフォルトのままではなく、meta要素の keywords と description は以下の記事の考え方を取り入れています。あと、一応 xml宣言も入れてあります。





 


 
 <$mt:BlogName encode_html="1"$>
 
 


 
 <$mt:BlogName encode_html="1"$>: アーカイブ
 <$mt:CategoryLabel$>,<$mt:TagName$>" />
 <$mt:EntryTitle encode_html="1"$>," />


 
 <$mt:EntryTitle encode_html="1"$> - <$mt:BlogName encode_html="1"$>
 
 


 
 <$mt:BlogName encode_html="1"$>: <$mt:ArchiveTitle$>アーカイブ
 <$mt:CategoryLabel$>,<$mt:TagName$>" />
 <$mt:EntryTitle encode_html="1"$>," />


 
 <$mt:PageTitle encode_html="1"$> - <$mt:BlogName encode_html="1"$>
 
 


 
 <$mt:Var name="page_title" value="確認"$>
 <$mt:Var name="message" value="

コメントを投稿しました。

"$> <$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$> <$mt:Var name="page_title" value="コメントありがとうございます。"$> <$mt:Var name="message" value="

コメントは現在承認されるまで公開を保留されています。

"$> <$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$> <$mt:Var name="page_title" value="コメント投稿エラー"$>

コメントを投稿できませんでした。エラー: <$mt:ErrorMessage$>

<$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$> <$mt:BlogName encode_html="1"$>: コメントの確認 <$mt:BlogName encode_html="1"$>: 検索結果 <$mt:BlogName encode_html="1"$>: ページが見つかりません。
" /> " /> " /> " /> " /> " /> <$mt:EntryTrackbackData$> " type="text/css" />

このようなテンプレートを「HTMLヘッダー」テンプレートモジュールとして保存すると、関連するテンプレートのヘッダー部分は全て次のようになり、とてもすっきりします。

<$mt:Include module="HTMLヘッダー"$>
">

※bodyのclassはテンプレートによって異なります。

これが良いか悪いかは人それぞれだと思いますが、僕はヘッダーに関することは一つのテンプレートで完結した方が管理しやすいし、サイト全体のイメージも掴みやすいので好きです。

【2009-06-12 追記】

再構築のテストをしてみました。

  • ブログ記事 : 1,060件
  • コメント : 536件

結果は次のとおりでした。

  • デフォルトテンプレート : 3分34秒、3分35秒
  • 記事のカスタマイズ後 : 3分22秒、3分31秒

結果はそれほど大差はありませんでした。

この記事をシェア

関連記事