自己流テンプレート作成ノウハウ その1

何か書き残しておきたくなったので。
うちはMTをブログツールではなくCMSとして使っているため、いわゆる「ブログっぽさ」を完全に排除した普通のサイトとなります。
あらかじめ普通のサイトとしてコーディングしたものをテンプレートやモジュールにバラバラに分割し、CMSとして動作するようMTタグを当てはめるだけなので、僕はデフォのテンプレートはほぼ使いません。

テンプレート一覧

インデックステンプレ

  • mainPage
  • sitemap
  • css_class(ちょこちょこっとクラス追加したい時にMTでいじれるよう)
  • フィード系(RSSとかいらないよ、って場合はガッツリ削除)
  • その他必要に応じて

アーカイブテンプレ

  • category
  • entry
  • webpage
  • archive(実際のとこ普通のサイト形式ではあまり作りません)

モジュールテンプレ

  • header(HEADタグだけでなく先頭共通部分まで全部内包)
  • footer
  • breadcrumb
  • mainMenu
  • sideBlock
  • sideMenu
  • category_〜(カテゴリ独自の表示をさせる場合)
  • その他必要に応じて

パターンとしてはこんな感じです。
テンプレートは全てファイルへのリンクを行い、編集はDW(コードビューのみ)で行っています。

テンプレート記述

基本的にモジュールテンプレ以外では下記のように始まります。

<MTSetVars>
template=(テンプレタイプ形式を記述:index等)
pageName=(ページ単体の名前:<MTEntryTitle>等)
pageTitle=(タイトルタグに入る文字列)
keyword=(METAタグ用キーワード)
ctLabel=(カテゴリー名の取得)
ctBasename=(カテゴリーファイル名の取得)
</MTSetVars>
他にテンプレートタイプごとに追加したりもしますが大体こんな感じ。

例えばカテゴリーラベルなど、カテゴリーとエントリーのテンプレタイプによって取得するMTタグが違うものをあらかじめ内部変数として取得することで、以降モジュールで<MTGetVar>といった共通の記述で取得できるようにしています。<MTIf>での扱いも楽になります。
<MTSetVars>の記述後に<MTInclude>でヘッダーの読み込みを行います。後はもうご自由に。

mainPageなどはトップページなりに独自の記述だらけなので普通に長くなりますが、categoryやentryあたりは基本的にほとんどモジュールのインクルードばかりになるので、30行くらいで終わることが大半です。

その2を書くかは謎。