リアルタイム再構築プラグイン(MT4/5対応版・その2)

リアルタイム再構築プラグイン(MT4/5対応版)で追加されるタグと、その利用例を紹介します。

なお、昨日アップロードしたものに、デバッグ用のログを出力する処理が残っていました。
2007年9月6日午前8時30分までにダウンロードされた方は、お手数ですが再度ダウンロードしていただき、lib/RealtimeRebuild.pmを差し替えてくださいますようお願いします。

1.MTRealtimeRebuildLinkタグ

テンプレートをリアルタイム再構築する際のURLを出力するタグです。基本的な書き方は以下のようになります。

バージョン1.60の場合
<$MTRealtimeRebuildLink tmpl_name="再構築するテンプレートの名前"$>
バージョン1.61/1.71の場合
<$MTRealtimeRebuildLink tmpl_name="再構築するテンプレートの名前" tmpl_type="テンプレートの種類"$>

バージョン1.61/1.71では、tmpl_typeモディファイアでテンプレートの種類を指定することができます。
テンプレートのタイプを指定する文字列は以下の通りです。
また、tmpl_typeモディファイアを省略した場合、「tmpl_type="custom"」と指定したのと同じになります。

テンプレートのタイプ文字列
インデックスindex
ブログ記事リストアーカイブarchive
ブログ記事アーカイブindividual
ウェブページpage
モジュールcustom
ウィジェットwidget

たとえば、テンプレートの中に以下のようなaタグを入れるとします。
このリンクをクリックすると、メインページがその場で再構築され、そのページが表示されます。

バージョン1.60の場合
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ"$>">メインページ</a>
バージョン1.61/バージョン1.71の場合
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ" tmpl_type="index"$>">メインページ</a>

また、BlogをPHP化している場合、リアルタイムに再構築したテンプレートを、include文でページに組み込むこともできます。
たとえば、「ランダムエントリー」というテンプレートモジュールがある場合、以下のようにすると、そのテンプレートをリアルタイムに再構築して、include文の箇所に組み込むことができます。

バージョン1.60の場合
<?php include('<$MTRealtimeRebuildLink tmpl_name="ランダムエントリー"$>'); ?>
バージョン1.61/バージョン1.71の場合
<?php include('<$MTRealtimeRebuildLink tmpl_name="ランダムエントリー" tmpl_type="custom"$>'); ?>

「ajax="1"」というアトリビュートを付加すると、テンプレートをAjaxで読み込める形に再構築します。
具体的には、文字コードをutf-8にし、出力の先頭にBOMを付加します。

また、「context="1"」というアトリビュートを付加すると、以下の表のように、再構築対象のテンプレートを、状況に応じてアーカイブ・テンプレートとみなして再構築します。

状況アーカイブテンプレート
MTCategories/MTSubCategoriesタグのコンテナの中
カテゴリーアーカイブテンプレートの中
カテゴリーアーカイブテンプレート
MTArchiveListタグのコンテナの中
日付アーカイブテンプレートの中
日付アーカイブテンプレート
MTEntriesタグのコンテナの中
ブログ記事アーカイブテンプレートの中
ブログ記事アーカイブテンプレート

さらに、任意のアトリビュートを付加すると、その値をリアルタイム再構築のCGIのパラメータとして渡すこともできます。
例えば、「mode="new"」というアトリビュートを付加すると、リアルタイム再構築のCGIのパラメータに「&mode=new」が付加されます。

MTRealtimeRebuildPHPLinkタグ

MTRealtimeRebuildLinkタグとほぼ同様ですが、CGIの代わりにキャッシュ処理用のPHPを呼び出します。
MTRealtimeRebuildLinkタグと同じアトリビュートを指定することができます。

ただし、単にこのタグに変えるだけでは、キャッシュ機能は使えません。
キャッシュ機能の使い方は、後日解説します。

MTRealtimeRebuildCGIPathタグ

リアルタイム再構築を行うCGIのURLを出力します。
「http://MTのディレクトリ/plugins/RealtimeRebuild/mt-realtime-rebuild.cgi」のような値になります。

MTRealtimeRebuildPHPPathタグ

キャッシュ処理を行うPHPのURLを出力します。
「http://Blogのディレクトリ/mt-realtime-rebuild.php」のような値になります。

MTRealtimeRebuildQueryParamタグ

MTRealtimeRebuildLinkタグの出力のうち、CGIに渡すパラメータの部分(「?」から後」だけを出力します。
MTRealtimeRebuildLinkタグと同じアトリビュートを指定することができます。

blog_idモディファイア

バージョン1.71では、以下のそれぞれのテンプレートタグで、blog_idモディファイアを指定できるようになりました。
このモディファイアで、再構築対象テンプレートのブログ(またはウェブサイト)のIDを指定することができます。

  • MTRealtimeRebuildLink
  • MTRealtimeRebuildPHPLink
  • MTRealtimeRebuildQueryParam