エントリー本文
ウェブサイトとブログでグローバルナビゲーションを共有する
Movable Type 5 でウェブサイトとブログでグローバルナビゲーションを共有する方法です。
方法は色々あると思いますが、ここではウェブサイトのテンプレートモジュールをグローバルナビゲーションとして利用する方法を紹介します。
1.グローバルナビゲーションのメニューにウェブサイトのメインページとブログのメインページを含むケース
次のように、ウェブサイトのメインページ(ホーム)と、ウェブサイト配下のブログのメインページ(ブログ名を使用)をウェブサイトとブログで共有する例です。

1.1 ウェブサイトの「ナビゲーション」テンプレートモジュール
ウェブサイトのテンプレートモジュール「ナビゲーション」を新規作成し、次の内容を設定します。
<ul>
<li><a href="<mt:WebsiteURL />">ホーム</a></li>
<mt:Blogs include_blogs="children">
<li><a href="<mt:BlogURL />"><mt:BlogName></a></li>
</mt:Blogs>
</ul>
mt:WebsiteURL タグでウェブサイトのURLを出力します。また、ブログの情報は mt:Blogs ブロックタグを利用して出力します。その際、include_blogs="children" を設定することで、ウェブサイト配下のすべてブログが出力対象となります。
1.2 ウェブサイトで「ナビゲーション」を利用する場合
ウェブサイトの各テンプレートから「ナビゲーション」テンプレートモジュールを呼び出すには、次のmt:Include タグを使用します。
<mt:Include module="ナビゲーション" />
1.3 ウェブサイト配下のブログで「ナビゲーション」を利用する場合
ブログの各テンプレートから「ナビゲーション」テンプレートモジュールを呼び出すには、mt:Include タグを、mt:BlogParentWebsite タグで括ります。また、mt:Include タグに blog_id モディファイアを設定し、ウェブサイトのIDを設定します。
<mt:BlogParentWebsite>
<mt:WebsiteID setvar="website_id">
<mt:Include blog_id="$website_id" module="ナビゲーション" />
</mt:BlogParentWebsite>
mt:Include タグを mt:BlogParentWebsite タグで括ることで、mt:Include タグはブログが属するウェブサイトのコンテキストで動作します。つまり、「ナビゲーション」テンプレートモジュールに設定したテンプレートタグは、ウェブサイトのコンテキストで評価されます。
2.グローバルナビゲーションのメニューにウェブサイトのメインページ・ウェブページとブログのメインページ・ウェブページを含むケース
2.1 ウェブサイトの「ナビゲーション」テンプレートモジュール
ウェブサイトのテンプレートモジュール「ナビゲーション」を新規作成し、次の内容を設定します。
<ul>
<li><a href="<mt:WebsiteURL />">ホーム</a></li>
<mt:Pages>
<li><a href="<mt:PagePermalink />"><mt:PageTitle /></a></li>
</mt:Pages>
<mt:Blogs include_blogs="children">
<li><a href="<mt:BlogURL />"><mt:BlogName /></a></li>
<mt:Pages>
<li><a href="<mt:PagePermalink />"><mt:PageTitle /></a></li>
</mt:Pages>
</mt:Blogs>
</ul>
ウェブサイトのウェブページも、ブログのウェブページも、mt:Pages タグを利用します。ブログのウェブページは mt:Blogs タグを使ってブログのコンテキストで動作させます。
実際にはプライベートタグなどを使ってウェブページのフィルタリングを行なうと思いますが、ここでは説明を割愛します。
2.2 ウェブサイトで「ナビゲーション」を利用する場合
1.2 と同様です。
2.3 ウェブサイト配下のブログで「ナビゲーション」を利用する場合
1.3 と同様です。
- MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!
- 半角文字を折り返す
- 【TB企画】名前の由来を教えてください+α
- Movable Type でコメント用 RSS フィードを出力する
- 携帯サイト制作 WEBデザインの新しいルール
- iPod / iPod nano で高音質なステレオ録音ができる GriffinTechnology iTalk Pro GRI-IP-000063 が 76% オフ
- カテゴリーアーカイブで全サブカテゴリーリストを表示
- 基本からしっかりわかる WordPress 2.7 カスタマイズブック
- ジロンカ・スメルキラー(消臭製品)購入
- 月送りカレンダー(横型・リアルタイム版)可変3カラム用
≫ 一部のモジュールを統一化してみた from HashiMのたわごと(?)
MT5以降限定ですが,テンプレートを他のブログで共有することが出来ます.その方法やカスタマイズの仕方などを書いておきます. [続きを読む]
