Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 4 ManualMovable Type 4 マニュアル

複数のブログのコンテンツを利用できるテンプレートタグ

最終更新日: 2017.10.06
  1. MultiBlog 機能の特長
  2. アグリゲーションポリシーの設定
  3. コンテンツのセキュリティ (プライバシーポリシー) 設定
  4. MultiBlog 機能を利用したポータルブログの設定
  5. MultiBlog 機能を利用したテンプレートのカスタマイズ
  6. 複数のブログのコンテンツを利用できるテンプレートタグ

Movable Type のテンプレートタグの中には、複数のブログのコンテンツを利用することができるものがあります。これらのタグは include_blogs, exclude_blogs モディファイアを利用して、そのテンプレートタグの効果を複数のブログを対象にすることができます。

指定したブログのみを対象として表示する

ポータルブログの対象のブログを、次のように include_blogs モディファイアで指定します。

すべてのブログを対象とする場合

次のように、allと記述します。

<mt:Entries include_blogs="all">
特定のブログを対象とする場合

次のように、ブログ ID を指定します。複数指定する場合は、カンマで区切ります。

<mt:Entries include_blogs="1,3">

テンプレートは、次のようにデザインします (最近のブログ記事ウィジェット)

<div class="widget-archives widget">
   <h3 class="widget-header">最近のブログ記事</h3>
   <div class="widget-content">
      <ul class="widget-list">
      <mt:Entries lastn="10" include_blogs="1,3">
         <li class="widget-list-item"><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a></li>
      </mt:Entries>
      </ul>
   </div>
</div>

指定したブログを除外して表示

ポータルブログから除外するブログを、次のように exclude_blogs モディファイアで指定します。

特定のブログを除外する場合

次のように、ブログ ID を指定します。複数指定する場合は、カンマで区切ります。

<mt:Entries exclude_blogs="2">

テンプレートは、次のようにデザインします (最近のブログ記事ウィジェット)

<div class="widget-archives widget">
   <h3 class="widget-header">最近のブログ記事</h3>
   <div class="widget-content">
      <ul class="widget-list">
      <mt:Entries lastn="10" exclude_blogs="2">
         <li class="widget-list-item"><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a></li>
      </mt:Entries>
      </ul>
   </div>
</div>

テンプレートモジュールの共有

MTInclude ブロックタグは、複数のブログのテンプレートモジュールを共有することができます。

<mt:Include module="ヘッダー" blog_id="2" />

例では、ブログ ID が 2 のブログで管理している「ヘッダー」という名前のテンプレートモジュールを読み込みます。

さらに、読み込んだ「ヘッダー」テンプレートモジュールにテンプレートモジュールが読み込まれている場合、読み込みに利用している MTInclude ファンクションタグにも blog_id モディファイアを指定しておくことで、柔軟なテンプレート管理を行うことができます。

ブログ ID が 3 のブログのテンプレート

ブログ ID が 2 のブログで管理している、「ヘッダー」テンプレートモジュールを読み込んでいます。

<mt:Include module="ヘッダー" blog_id="2" />
ブログ ID が 2 のブログの「ヘッダー」テンプレートモジュール

同じくブログ ID 2 のブログで管理している 「ヘッダーコンテンツ」テンプレートモジュールと、「概要」テンプレートモジュールを読み込んでいます。

<div class="header">
  <mt:Include module="ヘッダーコンテンツ" blog_id="2" />
  <mt:Include module="概要" blog_id="2" />
</div>

同じブログ ID のテンプレートモジュールを読み込む場合、blog_id モディファイアで指定しなくても構いませんが、そのテンプレートモジュールを他のブログ ID のブログで読み込んでいる場合は、指定しておく必要があります。もし、読み込み先のブログに「ヘッダーコンテンツ」と「概要」テンプレートモジュールがあり、そのテンプレートモジュールを利用したい場合は、「ヘッダー」テンプレートモジュールで blog_id の指定をおこなう必要はありません。