MTテンプレートに外部ファイルを埋め込む方法

| コメント(0) | トラックバック(4)

最近の変更で、以下の2点のテンプレート変更をしたのですが、これにはどちらも「外部ファイルの読み込み」を使っています。

  • 各カテゴリーアーカイブのページに、それぞれのジャンルに合わせたサイドメニューを表示

  • Individual Entry Archiveのフッタに各カテゴリーへのリンク(件数付き)を表示
カテゴリーごとに違う内容を表示するためには、それぞれ別々のHTMLを呼び出さなければならないし、Individual Entry Archiveテンプレートに直接カテゴリーリンクを書き込んでも「全体リビルド」をかけないとカテゴリーの「件数」が古いままで最新のものにならないからです。
テンプレート内に外部ファイルを埋め込むやり方としては、私の知る限り以下の4つの方法があります。それぞれのデメリットも合わせてまとめてみました。

(1)MTIncludeを使う
Movable TypeのMTIncludeタグを使うやり方。テンプレート内の表示したい部分に<$MTInclude file="sidemenu.html"$>のように記述する。ただし、そのアーカイブがリビルドされない限り最新の状態が反映されない
(2)SSIのIncludeを使う
テンプレート内の表示したい部分に<!--#include file="sidemenu.html" -->のように記述する。条件はサーバがSSIに対応していることと、対応している場合でも拡張子が*.shtmlしかサポートしていない場合が多いので、その場合はアーカイブのファイル名を*.shtmlに変更しなければならない
(3)PHPのIncludeを使う
テンプレート内の表示したい部分に<? include"sidemenu.html";?>のように記述する。条件は、サーバがPHPに対応していることと、アーカイブの拡張子を*.phpに変更すること
(4)Javaspriptによる埋め込み
表示したいHTMLソースをdocument.write('ソース');のように記述してsidemenu.js等のファイル名で保存してサーバにアップ、テンプレート内の表示したい部分に<script type="text/javascript" src="sidemenu.js"></script>と記述する。簡単に使えるが、*.js内に書くHTMLソースは改行できないため、埋め込むHTMLの更新・デザイン変更がしにくい。
この中で、今回カテゴリーごとのサイドメニューを出すのには (3)PHP Include を使い、Individual Entry Archiveのフッタメニューを出すのには (4)Javaspript を使うことにしました。(続く)

トラックバック(4)

Going My Way: 現在聞いている曲を表示する「Now Playing」ChitatopopsでWinamp Playlistを表示させる方法が紹介されていた。MTならではのTrackbackと組み合わせるという面白い方法。PHPを使ってないとダメなのかな?作成したPlaylistのファイルをincludeで読ませるという... 続きを読む

Movable Typeは、テンプレートを使って、自動的にページを生成してくれる便利なものである。しかし、その生成はサーバーにかなり負担をかけるらしい。そこで、静的な左と右のリンクを外部ファイルの読み込みにすることで、その負担を軽減しようと考えた。それと同時に、右... 続きを読む

MovableTypeのテンプレートを共通して各ページに載せる方法 続きを読む

 当ブログはデザインに関してかなりこだわって作成されてきました。すっきりとして見... 続きを読む

コメントする

お気に入りBlog一覧




Powered By BlogPeople
BlogPeopleに追加

Skyphoto People

お役立ちツール

このサイトについて

多摩川のほとりでのんびり暮らす3人家族の日常と果てなき好奇心を綴ったブログです。

最近のコメント

バックナンバー

Timelog