Movable Type で他のブログのテンプレートモジュール・ウィジェットを利用する
Category:[テンプレートタグ]
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.参考サイト
参考サイトは下記です。ありがとうございました。
- インターネット*ノート - MultiBlogプラグインでBLOG間のテンプレート共有化 【MTカスタマイズ:テンプレートの徹底したモジュール化2】
- MultiBlog 機能を利用したテンプレートモジュールの共有
- MTInclude タグの name モディファイア
- Movable Type(MT)の特殊変数の入れ子
- ブロックタグにelseタグを組み込んで判定する
- Movable Type 5 におけるウェブサイトとブログの複数指定方法
- ウェブサイトとブログでグローバルナビゲーションを共有する
- regex_replace モディファイアをダイナミックパブリッシングで利用する場合の注意
- Movable Type のアーカイブページへのリンクを相対パス(ホストからの相対URL)で表示する
- include_with_website モディファイア
- Movable Type の記事中の&を&に変更する方法
- Movable Type テンプレートタグの簡略化まとめ
- Movable Type のテンプレートタグでよくある5つの書き間違い
- Movable Type のブロックタグにファンクションタグで使うモディファイアを指定する
- MTIf タグの test モディファイアで Perl の式を利用する
- MTIf タグの tag モディファイアでテンプレートタグの値を直接参照する
- Movable Type 4.1 / MTOS における配列とハッシュの利用方法
- MTIf タグの like 属性について
- MTSetVarBlock と MTSetVarTemplate の違いについて
- strip 属性で日付の空白を削除する
- MTIgnore タグ
- エントリーで table タグを記述する場合の注意
- Movable Type 4.21 でファイルのアップロードで「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」というエラーになる問題について
- 公開映画を
- RebuildIndexFilter プラグイン
- Movable Type(MT)テンプレート
- Movable Type 4 でポッドキャスト/ポッドキャスティング(その2:MT-Enclosures プラグイン)
- Movable Type プラグイン一覧(MT4対応)
- Movable Type プラグイン一覧
- Movable Type で再構築エラーになる場合の原因と対処
- Movable Type 4.1x から 4.2 へのアップグレード
