php化をしてから再構築がスムーズに行くようになり、htmlの時には出来なかったカテゴリーの再構築にも問題なくいくようになったとほっと一安心していたのもつかの間、またまたカテゴリーの再構築で失敗するようになってしまった。んーー!なんでだ!
仕方ないので、テンプレートの軽量化を図ることに。参考にしたのは「ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニック」です。これは本当に買ってよかった。すごく役立ってます。藤本壱氏のサイトでもおそらく掲載されている内容なのでしょうけれど、どうも探しにくくてFirefoxだからなのか、時々ブラウザが固まってしまうので、書籍の形の方が理解しやすいしいい。
MTでは、テンプレートがいくつかありますが、メインページ、カテゴリーアーカイブページ、日付アーカイブページ、エントリーアーカイブページ等、その中には共通の部分(例えば、カレンダーとか、エントリーの本文、カテゴリーリスト等)があります。それらはそれぞれに出力されるので、その分再構築に時間がかかる。
そこで、PHPの「include」を使って、それぞれのページにの共通部分にはinclude文を入れて、外部ファイルを読み込む、という形をとれば、再構築の時間が短縮されるらしい。
カレンダーは既に横一列カレンダー(小粋空間)を使っていて、既にphpのincludeを使っているので問題なし。というわけで、エントリーの本文部分をまとめてみる。
まず、エントリーの本文を出力するテンプレートを作ります。
●テンプレート→アーカイブ→テンプレートの新規作成
テンプレートの名前は「エントリー本文」
その中身は
<$MTEntryBody$>
という一文のみ記載。
●テンプレートの種類の設定
設定→公開→アーカイブマッピング→マッピングの新規作成
アーカイブの種類「エントリー」 テンプレート「エントリー本文」を選択→追加
そうするとエントリー本文の出力フォーマットのカスタマイズができるようになるので
%y/%m/entry%E-body.php
と入力しておきます。
それから、メインページ(index)や、エントリーアーカイブ、日付アーカイブ、カテゴリーアーカイブ等の
<$MTEntryBody$>
部分を書き換えます。
<?php include(‘<$MTBlogArchiveURL$><$MTEntryDate format
="%Y/%m"$>/entry<$MTEntryID$>-body.php’); ?>
追記をまとめる方法も書いてあったんですが、追記はまぁ、いいかな、と思って私はしてません。
次にサイドのカテゴリー一覧をまとめます。
●インデックステンプレートを新規作成
出力先ファイル名は「category_list.php」にします。
まとめたい部分を、メインページのテンプレートからカテゴリー一覧を出力する部分をコピーして、
このテンプレートにはりつけます。
●各テンプレートのカテゴリー一覧の部分に、上記を組み込みます。
<?php include(‘<$MTBlogURL$>category_list.php’); ?>
これで、Blogの再構築をします。
他のまとめ方ものっているので、詳しくは本を見てください。ただ、これだけやってもかなり軽量化されたのか、カテゴリーの再構築も再びうまくいくようになりました。よかった。心なしか表示速度も速くなったような気がしないでもないです。
技術評論社 (2005/11/08)