MTMultiBlog タグブロック内での MTInclude タグの入れ子について(続き)

MTMultiBlog タグブロック内での MTInclude タグの入れ子について(続き)

Posted at February 26,2009 12:03 AM
Tag:[MTMultiBlog, TroubleShooting]

以前、「MTMultiBlog タグブロック内での MTInclude タグの入れ子について」という記事で、「MultiBlog タグと Include タグを入れ子にすると再構築エラーが発生する」という旨の内容を書いたのですが、コメントで対処方法を教えて頂きました。ありがとうございました。

また前回は、事象の詳細まで記していませんでしたので、今回は図で説明します。

1.現状の動作

まず前提として、図の一番上の「ポータルブログ(blog_id1)」では、その下にある2つのブログ(blog_id2/blog_id3)を、MultiBlog プラグインの設定で収集対象にしています。

MultiBlog プラグインの設定による入れ子にしたインクルードの動作

この状態で、ポータルブログのメインページを再構築すると、メインページからインクルードしている2つのテンプレートモジュールは①のルートでインクルードされることを期待するのですが、現状の動作では、

  • 「記事の概要」テンプレートモジュール:ポータルブログのテンプレートモジュールをインクルード
  • 「記事のメタデータ」テンプレートモジュール:MultiBlog タグで処理しているブログのテンプレートモジュール(②③)をインクルード

となります。

blog_id2 のブログの処理では、ポータルブログと同じテンプレートモジュールがあるので再構築エラーにならないのですが、blog_id3 のブログの処理では、該当のテンプレートモジュールがみつからないため、再構築エラーになります(前回記事の事象)。

再構築エラー

つまり、入れ子になっているテンプレートモジュールは、ポータルブログのテンプレートモジュールが使われません。

MultiBlog プラグインの設定で収集するブログを指定する代わりに、include_blogs モディファイアで収集するブログを指定しても、同様の事象でした。

ちなみに、テンプレートモジュールがないブログに同じ名前のテンプレートモジュール(内容は適当)を作れば、正常に再構築が完了します。

2.対処方法

各 Include タグに blog_id モディファイアを記述し、モディファイアの値に自ブログの番号を設定します。

先の図の場合、ポータルブログの「記事の概要」テンプレートモジュールからインクルードしている「記事のメタデータ」の MTInclude タグに、自分のブログID「blog_id="1"」を設定します。

対処前

<mt:include module="記事のメタデータ" />

対処後

<mt:include module="記事のメタデータ" blog_id="1" />

3.参考記事

参考記事は下記です。ありがとうございました。

AKINAKANO - 複数ブログをまとめてくれるMTMultiBlog:モジュールが入れ子状態になると起こる不具合
関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)