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

Movable Type 4 ManualMovable Type 4 マニュアル

MultiBlog 機能を利用したテンプレートのカスタマイズ

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

MultiBlog 機能を使ったポータルブログを作成する際の、テンプレートのカスタマイズの方法を解説します。

ここに掲載されているサンプルは、コンテンツのセキュリティ (プライバシーポリシー) 設定で、[MTMultiBlogタグの既定の属性] という項目を [含めるブログ: all] となっていることを前提としています。もし、この設定がされていない場合は、mt:MultiBlog ブロックタグに Include_blogs="all" を付与してください。

複数ブログのコンテンツをブログ単位にまとめて表示

複数のブログの情報を、ブログ単位にまとめて表示する場合、MTMultiBlog ブロックタグに値が loop の mode モディファイアを設定します。

<mt:MultiBlog mode="loop">
<mt:Entries>
<mt:EntriesHeader>
<h3><mt:BlogName /></h3>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>

複数ブログのコンテンツを全体でソート表示

複数のブログの情報を、全体でソートして表示する場合、MTMultiBlog ブロックタグに値が context の mode モディファイアを設定します。

<mt:MultiBlog mode="context">
<mt:Entries>
<mt:EntriesHeader>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>

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

ポータルブログの対象のブログの指定は、別節のように MultiBlog プラグインで指定できますが、次のように MTMultiBlog ブロックタグに include_blogs モディファイアを追加して指定することもできます。

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

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

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

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

<MTMultiBlog mode="loop" include_blogs="1,3">

テンプレートは、次のようにデザインします。

<mt:MultiBlog mode="loop" include_blogs="1,3">
<mt:Entries>
<mt:EntriesHeader>
<h3><mt:BlogName /></h3>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>

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

ポータルブロから除外するブログの指定は、別節のように MultiBlog プラグインで指定できますが、次のように MTMultiBlog ブロックタグに exclude_blogs モディファイアを追加して指定することもできます。

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

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

<mt:MultiBlog mode="loop" exclude_blogs="2">

テンプレートは、次のようにデザインします。

<mt:MultiBlog mode="loop" exclude_blogs="1,3">
<mt:Entries>
<mt:EntriesHeader>
<h3><mt:BlogName /></h3>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>

ローカルブログの利用

ポータルブログで複数のブログのコンテンツを集約して表示する際、MTMultiBlog ブロックタグでデザインしているブログ自身 (ローカルブログ) も対象になります。MTMultiBlog ブロックタグで定義している中で、一時的にローカルブログの内容を表示するには、MTMultiBlogLocalBlog ブロックタグを、次のように記述します。

<mt:MultiBlog mode="loop">
<mt:Entries>
<mt:EntriesHeader>
<mt:MultiBlogLocalBlog>
<h3><mt:BlogName /></h3>
<p><mt:BlogDescription /></p>
</mt:MultiBlogLocalBlog>
<h3><mt:BlogName /></h3>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>

また、MTMultiBlog ブロックタグで定義している中で、ローカルブログの内容か否かを判断するには、MTMultiBlogLocalBlog コンディショナルタグを、次のように記述します。

<mt:MultiBlog mode="loop">
<mt:Entries>
<mt:EntriesHeader>
<h3><mt:BlogName /></h3>
<mt:MultiBlogIfLocalBlog>
<p>このブログはローカルブログです。</p>
</mt:MultiBlogIfLocalBlog>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a> (<mt:EntryDate />)</li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>