MT4.2で、条件分岐のMTIfを使って、モジュールをインクルードしようとしたけれど、出来なくてしばらく苦しんだので、メモ。
MTEntryIfCategory
たとえば、エントリー記事内で、あるカテゴリーの場合は、特定のモジュールをインクルードさせたい場合、
最初は、ブログ記事アーカイブのテンプレートに
<mt:Ifcategory name="モノ">
<$mt:include module="エントリー条件Bodyみんぽす"$>
</mt:ifcategory>
と書いていたが、カテゴリが「モノ」の場合にも「エントリー条件Bodyみんぽす」モジュールテンプレートはインクルードされなかった。
この場合は、MTIfCategoryではなく、MTEntryIfCategoryを使用するみたいで、
<mt:entryIfcategory name="モノ">
<$mt:include module="エントリー条件Bodyみんぽす"$>
</mt:entryifcategory>
と書くと、うまくモジュールがインクルードされ、モジュール内に記述された文言が表示された。
条件分岐はブログ記事アーカイブテンプレートに書く
また、条件分岐を、インクルードするモジュール内に書いた場合も、旨く作動しない。
たとえば、ブログ記事アーカイブテンプレートには、
<$mt:include module="エントリー条件Bodyみんぽす"$>
とのみ書き、「エントリー条件Bodyみんぽす」モジュールテンプレート内に、
<mt:Ifcategory name="モノ">
みんぽすってこんなこと
</mt:ifcategory>
と記述したが、「エントリー条件Bodyみんぽす」モジュールテンプレートは表示されなかった。
mt:entryIfcategoryは、ブログテンプレート内に記述すれば、作動するが、モジュールテンプレート内に記述した場合は、ブログアーカイブでないから、そのブログ記事の属するカテゴリを判定できない、ということなのだろうか。
とりあえず、結構過去に何回も、このことを忘れて、表示できなかったので、メモしておきます。
※管理人もスタンダード・プレミアムを利用中!
▼ さくらのレンタルサーバ
コメントする