MultiBlogプラグインでBLOG間のテンプレート共有化 【MTカスタマイズ:テンプレートの徹底したモジュール化2】
BLOG内でのテンプレート化は標準のモジュール機能で実現できますが、BLOGが増えてくるとBLOG間でテンプレートを共有したくなります。こうなるとプラグインの出番です。
標準のモジュール機能によるテンプレート化についてはコチラ ⇒ MTカスタマイズ テンプレートの徹底したモジュール化1 再構築負荷軽減と作業効率化
BLOG間のテンプレート共有を実現するプラグインがのが Multiblog プラグイン。本来の?使い方は複数のBLOGを統合して一つのページに表示したり、BLOG間でデータを引っ張ってくるというものなのですが、別のBLOGデータを参照できるという機能を活かして、別のBLOGテンプレートに保存されているモジュールテンプレートを参照してしまうのです。
要は、「A」というBLOGのモジュールにテンプレートを保存して、「B」というBLOGから「A」BLOGのモジュールを参照するという訳です。例えば、 BLOGID 2 のテンプレートモジュールに「ヘッダ」という名前で保存しているモジュールを参照する場合は、まずBLOGID 2 のテンプレートモジュールに
<MTMultiBlogLocalBlog>
<div id="banner">
<div id="banner-inner" class="pkg">
<h1 id="banner-header"><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2 id="banner-description"><$MTBlogDescription$></h2>
</div>
</div>
</MTMultiBlogLocalBlog>
と記述し、「ヘッダ」と名づけて保存してから、各BLOG側で次のように記述します。
<MTMultiBlog include_blogs="2">
<$MTInclude module="ヘッダ"$>
</MTMultiBlog>
こうすることで BLOGID 2 のモジュールを、各ブログでモジュールテンプレートとして使用できます。
キモとなるのが<MTMultiBlogLocalBlog>で括るところ。これを忘れると、BLOGID 2の内容でヘッダが書かれてしまいます。要は<MTMultiBlogLocalBlog>の意味するところは、データはそれぞれのBLOGのものを使用する、という訳です。
モジュールの中でさらに別のモジュールを参照することもできます。その場合も<MTMultiBlogLocalBlog>で括ることを忘れずに。
