Movable Type で他のブログのテンプレートモジュール・ウィジェットを利用する

Movable Type で他のブログのテンプレートモジュール・ウィジェットを利用する

Posted at January 14,2009 1:55 AM
Tag:[MovableType, MTInclude, MTMultiBlogLocalBlog]

Movable Type で複数ブログを作成した場合、他のブログのテンプレートモジュールやウィジェットを利用する方法です。

他ブログのテンプレートモジュールをインクルード

ここではブログBのテンプレートモジュール「hoge」を、ブログAで利用する方法を例に解説します。

1.ブログAの設定

ブログAの任意のテンプレートで、ブログBのテンプレートモジュール「hoge」を呼び出すために、MTInclude タグを記述し、blog_id モディファイアでブログBのブログIDを指定します。

...前略...
<mt:Include module="hoge" blog_id="ブログBのブログID" />
...後略...

または、MTInclude タグを MTMultiBlog タグで括り、include_blogsモディファイア(または blog_ids モディファイア)でブログBのブログIDを指定します。この場合は表示する内容によって、2項の設定が必要になります。

...前略...
<mt:MultiBlog include_blogs="ブログBのブログID">
  <mt:Include module="hoge" />
</mt:MultiBlog>
...後略...

いずれの方法でも、ブログBのテンプレートモジュール「hoge」が、ブログAから呼び出せます。

2.ブログBの設定

1項で MTMultiBlog タグを使った場合、ブログBのテンプレートモジュール「hoge」を、MTMultiBlogLocalBlog タグで括ると、テンプレートモジュール「hoge」に記述されているテンプレートタグに対し、ブログAの情報が反映されます。MTMultiBlogLocalBlog タグで括らない場合は、ブログBの情報が反映されます。

<mt:MultiBlogLocalBlog>
もともとの「hoge」の内容
</mt:MultiBlogLocalBlog>

MTInclude タグに blog_id モディファイアでブログBを指定した場合は、この設定は不要です。

3.MultiBlogLocalBlog タグについて

MTMultiBlogLocalBlog タグの解説は、公式ドキュメントでは、それぞれ次のようになっています。

テンプレートタグリファレンス - MTMultiBlogLocalBlog

MTMultiBlog ブロックタグで定義している中で、一時的にローカルブログ (MTMultiBlog ブロックタグを利用して他のブログの内容を表示させたいブログ) の内容を表示したい場合に利用します。

つまり、この場合、MTInclude タグで呼び出しているブログAの情報を、ブログBのテンプレートモジュールに表示させることができる、というわけです。

ちなみに、テンプレートモジュール「hoge」を、MTMultiBlogLocalBlog タグで括らないと、例えば、テンプレートモジュール「hoge」の中に MTBlogName タグがある場合、再構築したときに MTBlogName タグは、「ブログB」と表示されます。

つまり、他のブログのテンプレートモジュールをインクルードしたときに、インクルード先のテンプレートを、

  • 自ブログの情報を出力したい:MTMultiBlogLocalBlog タグで括る
  • 他のブログの情報を出力したい:MTMultiBlogLocalBlog タグで括らない

という使い分けもできます。

4.その他

MTMultiBlogLocalBlog タグで括ったテンプレートモジュールやウィジェットは、自ブログではそのまま使えるようです。

次の記述では再構築NGになります。

...前略...
<mt:MultiBlog include_blogs="ブログBのブログID">
  <mt:MultiBlogLocalBlog>
    <mt:Include module="hoge" />
  </mt:MultiBlogLocalBlog>
</mt:MultiBlog>
...後略...

MTInclude タグに identifier モディファイアを指定すれば、インデックステンプレートも呼び出せるかもしれません。

5.参考サイト

参考サイトは下記です。ありがとうございました。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)