6月
09
2007

step5:テンプレート・カスタマイズ(モジュール化編)

さーいよいよテンプレのXHTMLを大幅にいじっていきますよ。

1.サイドバーの表示がテンプレートによって違うので、統一させる。
これ、どのページでも同じものが出るのが当たり前だと思ってたんだけど、MTにおいては全然当たり前じゃなかった。吃驚。
例えば最近の「エントリー」「コメント」「トラックバック」は、カテゴリーページとか月別アーカイヴページでは、そのくくりのものしか表示されなかったりする。メニューバーとも言うべき場所がころころ表示するもの変わってたら、見る人は混乱するんじゃないだろうか?
サイトの使用方法によっては便利かもしれないけど。このサイトでは困る。
というわけで。
共通して使用する部分を別ファイル(モジュール)化してそれを見に行くようにすれば、どのページでも同じ内容が表示されので、それをやってみる。

メインページと同様のコメント一覧をアーカイブページで表示する(MovableType備忘録)」を参考にモジュール化。この場合は1番で。

要点をまとめると、
・目的の部分を別ファイル(.php)で作る(MT内での置き場所は「インデックス」)
・各テンプレートの呼び出したい場所で

<?php include(‘<$MTBlogURL$>任意の場所/○○○○○○.php’); ?>

と書いて別ファイルを呼び出す。

※このモジュールはサイドバーのような、内容が常に変化する部分に使うと効果的。ただし、PHP化していないと出来ないので注意。逆に言えば、こういうのをやりたくてPHP化したんだけど。
※インデックステンプレートとアーカイヴテンプレートでしか機能しない。
ここで使っているエントリのプレビュープラグインでは、モジュール化した事によってその部分は表示されなくなる。PHP化の弊害でもある。

モジュール化したもの↓
・サイドバー全部

いじったテンプレート↓
・メインページ
・エントリー・アーカイヴ
・日別アーカイヴ
・カテゴリーアーカイヴ


2.ほとんど修正は入らないけど各ページ共通の部分は、標準機能の「モジュール」化を使う
例えばフッター部分のコピーライトなんかは、内容を変える事はほとんどないけど、全ページに載っていたりする。
・目的の部分を別ファイル(拡張子ナシ)で作る(MT内での置き場所は「モジュール」)
・各テンプレートの呼び出したい場所で

<$MTInclude module="○○○○"$>

と書いて別ファイルを呼び出す。

とりあえずモジュール化したもの↓
・フッター
・ヘッダー



記述を一つのファイルに収めて、必要なものをそこに読みにいく、というモジュールは、記述を整理する事が出来る上、内容の修正も楽だし直し漏れも少ない。ので今後も積極的に使う予定。

んーまだまだやる事ありそう。
ではテンプレ解読続けます。

これも関連する話かも

Written by  

コメントはまだありません »

TrackBack URL:http://garden.jellybean.jp/archives/2007/06/09164051/trackback


コメントしてく?

Powered by WordPress. Theme: TheBuckmaker. Umschuldung, Xoppla