複数ブログをまとめてくれるMTMultiBlog:モジュールが入れ子状態になると起こる不具合
October 05, 2007
前回の”複数ブログをまとめてくれるMTMultiBlog:MT3とMT4における書き方の違い”に引き続き、MT4でMultiBlogを使った場合に発生する、別の事象を紹介できたらと思います。
前回の分は、MTMultiBlogタグの私の書き方が悪かっただけで、別にバグでも何でもなかったのですが、今回の分は今のMTのバージョンMT4.01ではバグのようです。Six ApartさんのMTフィードバックでいただいたご連絡でわかりました。でも、開発コード上では既にバグfixされているそうなので、次バージョンでは大丈夫のようです。では、どんな場合にMTMultiBlogを使ったブログで、モジュールに問題が生じるかと言うと、以下のようになります。
<ブログA (ブログID=1とします。)>
・モジュール名:ヘッダー
この「ヘッダー」というモジュールの中には、
<meta name="keywords" content="<$MTInclude module="キーワード"$>" />
というメタ情報が入力されている。
・モジュール名:キーワード
「キーワード」というモジュールの中には、
ブログのキーワードとなる単語が含まれている。
<ブログB (ブログID=2とします。)>
・メインページ(index.html)
メインページには、ブログAのモジュール「ヘッダー」が
以下のMTMultiBlogタグにて呼び出されている。
<MTMultiBlog include_blogs="1">
<MTInclude blog_id="1" module="ヘッダー">
</MTMultiBlog>
この状況下でブログBのメインページ(index.html)を再構築すると、
”テンプレート「メインページ」の再構築中にエラーが発生しました:
テンプレートタグMTMultiBlogでエラーが発生しました:
テンプレートタグMTIncludeでエラーが発生しました:
error in module ヘッダー: テンプレートタグ
MTIncludeでエラーが発生しました:
モジュールというテンプレートが見つかりませんでした: キーワード”
というエラーが発生します。(MT3だとこのエラーは発生しません。)
なので、このエラーを回避するため、ブログAの方のモジュール「ヘッダー」に記述している、
<meta name="keywords" content="<$MTInclude module="キーワード"$>" />
のモジュールである「キーワード」がどこのブログから取得されて来るべきなのかをより明確にするため、
<meta name="keywords" content="<$MTInclude blog_id="1" module="キーワード"$>" />
というようにして、blog_id="1"を加えて明示してあげると、同じブログA上にあるモジュール「キーワード」を理解するようで、ブログBのメインページの再構築ができるようになります。
MT3の時は、「blog_id="1"」を明記しなくても、同じブログAのモジュールの中に「キーワード」というモジュールがあるので、それを勝手に読み込んでくれていました。
というわけで、MT4でだと、同じブログ上に(この場合はブログA上に)読み込めるはずのモジュールがあるにも関らず、MultiBlogが別ブログで使われ、ブログA上のモジュールがブログBで読み込まれると、ブログAで入れ子状態になったモジュールの内側のモジュール(この場合”キーワード”)が、ブログA上から探されるのではなく、なぜかブログB上で探されてしまい、該当モジュールがないので、エラー、という状況になっていたようです。
これはバグだそうなので、私もようやくバグレポートに1つ貢献できた(・・?)かもしれません。
最新記事
- 久しぶりの晴れ間
- IE8とIE7,IE6,IE5.5でブラウザ確認~IETesterを入れてみました
- サイプレスMt.に雪を運ぶため
- FFFTPもガンブラー対策ということで
- 腸内環境の健康状態が身体にも現れる
- ただ私はお水をあげているだけで
- 1月だけど、暖かいバンクーバー
- MT5 モジュール名で_(アンダースコア)を使った名前にして、この値を別のテンプレートで呼び出すと、HTML側で改行されるー自分用覚書
- MT5 MTIncludeで別のブログをIncludeするとー自分用覚書
- 朝からバターミルク2杯は・・
- 新しいテンプレート作成中
- 新年おめでとうございます
- Cool Jazz : Esbjörn Svensson Trio - Tuesday Wonderland
- 間違って梅干の種を飲んでしまった・・
- 政治家の暴走

