任意のテンプレートを再構築するテンプレートタグ(その1)

MTQに、以下のような質問があがっていました。

マルチブログの再構築トリガーの機能で、「Aブログの記事更新時にBブログのカテゴリーアーカイブを再構築する」という機能はありますでしょうか。

標準の機能にはありませんが、この機能を簡易的に実現するためのプラグインを作ってみました。
今日はその基本を解説します。

1.概要

今回のプラグインは、任意のテンプレートを再構築する処理を行う「MTRebuldAnyTemplate」というテンプレートタグ(ファンクションタグ)を追加します。

例えば、以下のような場合を考えてみます。

  • Aブログの記事更新時に、Bブログのカテゴリーアーカイブを再構築したい
  • BブログのカテゴリアーカイブテンプレートのIDが10
  • 再構築したいカテゴリのIDが20

この場合、Aブログのメインページのテンプレートに、以下のタグを追加します。

<$mt:RebuildAnyTemplate archive_type="Category" template_id="10" category_id="20"$>

通常、Aブログで記事を更新すれば、Aブログのメインページのテンプレートも再構築されます。
そして、その際に上記のテンプレートタグが実行され、BブログのカテゴリID=20のアーカイブページが再構築されます。

2.プラグインのインストール

このプラグインは、以下からダウンロードすることができます。

RebuildAnyTemplate_1_00.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたZipファイルを解凍すると、「plugins」フォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

インストール後は、概要に書いたような方法で、テンプレートにタグを追加することができます。

なお、当方ではMovable Type 5.2RC1で動作のテストを行いました。
試してはいませんが、Movable Type 4.x以降であれば、このプラグインが動作すると思います。