TrackBackアドレス自動選択/MTのincludeは使わない方向で
ZakimiBlog TrackBackのアドレスを自動選択
こちらのサイトを参考にして、トラックバックのURLを自動的に選択するようにした。
……と、他のサイトのテクばかり紹介するのも何なので、たまには自分で使っているテクを。
野良犬の塒のサイトは、メインページや個別ページなどの各テンプレートに、画面右のように“最近のエントリ”“最近のコメント”を表示するように仕込んでいる。こういう時は、テンプレート・モジュールに<MTEntries>などを仕込んで、それを<MTInclude module="foo">で表示するのが一般的なやり方だと思う。だが、これには問題がある。なぜなら“最新のコメント”を表示したいのに、その記事が作成された時点でのコメントしか表示されないからだ。記事を投稿し、それからコメントが入ったとしても、個別エントリーはリビルドされないので、そちらには反映されないのである。
これを回避するには個別テンプレートを動的アーカイヴにすればいいのだが、さくらインターネットなど動的アーカイヴが使えない環境ではそうはいかない。そこでMovable TypeのMTIncludeを使わず、SSIもしくはPHPのincludeを使うという手がある。
常に最新の状態にさせておきたい部分のテンプレートを作るとき、テンプレート・モジュールではなくインデックス・テンプレートにしておく。“インデックスと一緒に再構築”は当然“はい”にしておき、あとは個別エントリなどでincludeを使って読み込ませる。
SSIなら、
<!--#include virtual="/foo.html" -->
PHPなら、
<?php
include '/home/user/www/foo.html';
?>
としてやればいい。それぞれパスの指定方法が違うので注意すること。当然こちらはSSIもしくはPHPが使える環境が必要になる。「SSIは重いのでPHPにした方がいい」という説もあるが、どれくらいの差があるかは私には判らない。
他にページヘッダやフッタのテンプレートも同様にSSIもしくはPHPで読み込ませるようにすれば、個別エントリのリビルドが多少早くなるかもしれない。その分ページ読み込みは多少遅くなるかもしれない。

このサイトは携帯電話などで見ることが可能です。http://mobile.kyo-kan.net/ にアクセスしてください。
コメントする