アルファサード株式会社 代表取締役 野田 純生のブログ


Movable TypeでMTIncludeもPHPもSSIも使わずテンプレートをモジュール化する方法。


公開日 : 2007-07-11 11:54:21


もっと普及している考え方かと思ったけどそうでもなさそうなので書いておく。 別にMovable Typeじゃなくても使える方法だけど。

PHPもSSIも使わずできるしMTIncludeと比較してもこの方法だと古いページの再構築を一切不要にできる。

関連しそうなエントリー

モジュールをJavaScript化する

要は最近のエントリー等インクルードしたい部分をJavaScriptで吐くわけ。

JavaScript前提じゃん! ってそーですWeb屋の皆さんは「業務」で使わないように。 個人のブログでサーバー管理者から怒られたらやってみれば? くらいのTips(とも呼べないレベルやけど)。

*あと、JSONとかXMLで吐かれるようにしてXMLHttpRequestで...とか言うなよ。JavaScriptで通信させる意味ないし。

まず新規テンプレートを作る。

  • テンプレート名 : RecentEntry
  • 出力ファイル名 : include/recent_entry.js
  • インデックス・テンプレートを再構築するときに、このテンプレートを自動的に再構築する: Check!

テンプレートの内容(最近のエントリー15件を表示する)


document.write('<ul>');
<MTEntries lastn="15">
document.write('<li class="module-list-item"><a href="<$MTEntryPermalink$>"><$MTEntryTitle encode_js="1"$></a></li>');
</MTEntries>
document.write('</ul>');

あとは表示させたい箇所に以下の通り。


<script type="text/javascript" src="/include/recent_entry.js">
</script>
<noscript>
<!--最近のエントリーとか最近のコメントなんかを
まとめたページへのリンクとか置くとより丁寧-->
</noscript>

まぁ、僕はやらないけど役に立つ人もいるかな、ってことで。

実際に「古い」アーカイブにだけ適用してみた。

*JavaScriptにヒア・ドキュメントがあればいいのに...

カテゴリ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ