[MT5備忘録]親サイトのテンプレートモジュールをincludeする

MT5におけるウェブサイトと、配下のブログの関係をボチボチお勉強

Website-A
  ├Blog-A1
  └Blog-A2

こんな構成になっているとしたとき、

子ブログBlog-A1から、Website-Aのテンプレートモジュールをincludeするには以下のように書く

<mt:BlogParentWebsite>
<$mt:WebsiteID setvar="website_id"$>
</mt:BlogParentWebsite>

<$mt:Include module="※モジュール名※" blog_id="$website_id"$>

[確認用]website_id: <$mt:GetVar name="website_id"$>

note:

  • 自分の親なのに、わざわざWebsiteIDを与えてモジュールをインクルードする必要がある。
  • blog_idを指定しない場合、自ブログ内に指定したモジュールがなければ、(親ウェブサイトは探さず)グローバルテンプレートモジュールからインクルードされる。
  • スカイアークシステムさんの「ParentalInclude」プラグインを使うと、<$MTParentalinclude module=”モジュール名”$> で親サイトのモジュールをインクルード指定できるようになるらしい。※私の環境ではうまく動かなかったが、今後に期待。

モジュール内に書いたWebsiteIDってどうなるんだっけ?

BlogA-1のテンプレ

1. 子ブログ内でいきなりmt:WebsiteID:<$mt:WebsiteID$><br />

<mt:BlogParentWebsite><$mt:WebsiteID setvar="website_id">
  2. 子ブログ内mtBlogParentWebsiteブロックタグの中でMTWebsiteID: <$mt:WebsiteID$><br />
  3. 子ブログ内mtBlogParentWebsiteブロックタグの中で親サイトのテンプレートモジュール呼び出し
    (その中でmt:WebsiteID):<$mt:Include module="WS-module" blog_id="$website_id"$><br />
</mt:BlogParentWebsite>

4. 子ブログ内mtBlogParentWebsiteブロックタグの外で親サイトのテンプレートモジュール呼び出し(その中でmt:WebsiteID):
     <$mt:Include module="WS-module" blog_id="$website_id"$><br />

Website-A内のテンプレートモジュール(WS-module)

<$mt:WebsiteID$>

結果

1.子ブログ内でいきなりmt:WebsiteID:0 -> NG
2. 子ブログ内mtBlogParentWebsiteブロックタグの中でMTWebsiteID: 1 -> OK
3. 子ブログ内mtBlogParentWebsiteブロックタグの中で親サイトのテンプレートモジュール呼び出し
   (その中でmt:WebsiteID):1 -> OK
4. 子ブログ内mtBlogParentWebsiteブロックタグの外で親サイトのテンプレートモジュール呼び出し
  (その中でmt:WebsiteID):0 -> NG
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中