エンジニアブログ

エンジニアブログ
Movable Type プラグイン

別のブログからモジュールを読み込むプラグイン:ExtendInclude

森山 2007年02月27日

ExtendIncludeは、MTIncludeタグの拡張プラグインです。
複数ブログで構成されているサイトで、他のブログからテンプレートやモジュールを読み込むことが可能となります。Movable Type4でも動作を確認しました。onclick="urchinTracker(this.pathname);"

テンプレートを共通化するメリットはメンテナンスのしやすさなどがあげられると思いますが、実際テンプレートの中に一行タグを記載するだけでいいので構築時でも非常に効率よく作業がはかどります。
<MTBlogURL>extend.gif
▲MTテンプレート画面(BlogID「1」のモジュール「header」を読み込む場合)

プラグインのダウンロード

ExtendInclude:ダウンロード

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

インストール方法:解凍後の「extend_include.pl」ファイルをMovable Typeの「plugins」ディレクトリにアップロードします。

プラグインの利用方法

使用方法は、通常のMTIncludeタグと殆ど変わりません。
blog_id="*"に任意のブログIDを挿入することで、他ブログのモジュールやfileをインクルードできます。

<$MTExtendInclude blog_id="*" module="*"$>
<$MTExtendInclude blog_id="*" file="*"$>

同様のMT標準タグ(MTE1.5の場合のみ):
<$MTInclude blog_id="*" module="*"$>
<$MTInclude blog_id="*" file="*"$>

ExtendIncludeの最大の特徴は、モジュール等の中に記載されたEntriesなどの吐き出し方にあります。

例)BlogID="1"にあるmodule="A"をblogID="2"のテンプレートで呼び出した場合

BlogID="1"のmodule="A"の内容

<MTEntries lastn="2">
<MTEntriesHeader><dl></MTEntriesheader>
<dt><$MTEntryDate format="%Y/%m/%d"$></dt>
<dd><$MTEntryTitle$></dd>
<MTEntriesFooter></dl></MTEntriesFooter>
</MTEntries>

BlogID="2"のインデックス・テンプレートの中に下記を記述

<$MTExtendInclude blog_id="1" module="A"$>

この場合、表示されるエントリーはBlogID="2"のエントリーとなります。
BlogID="1"のエントリーは表示されません。

このように、エントリーの一覧やBlogID、CategoryLabelなどがインクルード元に影響されないので、ヘッダーやフッター、パンくずなどの一元管理が簡単にできます。

利用用途

複数のブログで構築されているサイトでヘッダー、フッターの共通部分の出力。
複数ブログでのテンプレート一元管理。

注意事項

本プラグインをご利用される方は必ず「プラグインご利用の際の注意事項」をお読みください。