エントリーテンプレートでのMTIfCategoryの挙動

このエントリーをはてなブックマークに追加

MTのカテゴリー操作 色々で色々書いたんですけど、ブログ記事テンプレートやウェブページテンプレートでは正常に動作しない。

調べていたら、MTIfCategoryの仕様が他のページとは異なるためのようです。

コンテキスト内に指定されたカテゴリが含まれる、またはアクティブなブログ記事が指定されたカテゴリに属している場合に有効になる条件タグです。
MTIfCategory | テンプレートタグリファレンス

MTIfCategoryはブログ記事テンプレートではMTCategoriesコンテキスト内で利用していても、ブログ記事のカテゴリーで条件分岐を行ってしまうようです。
(カテゴリーを持たないウェブページテンプレートでも条件に引っかからない)

ちょっとこれでは使い物にならないのでエントリーテンプレートでも使えるMTIfCategoryもどきを作成。

<MTIfCategory name="特定のカテゴリー">
処理
</MTIfCategory>

の箇所を

<MTSetVarBlock name="tmpCategory"><MTCategoryLabel></MTSetVarBlock>
<MTIf name="tmpCategory" like="特定のカテゴリー">
処理
</MTIf>

に変更。

MTSetVarBlockタグでカテゴリー名を変数に入れてMTIf で条件分岐してます。

関連エントリー

MTで特定のカテゴリーのみテンプレートに反映させる方法
Movable TypeでSEO対策-metaタグ編-
MovableTypeにお問い合わせフォームを設置
MovableTypeにタグクラウド(SEO対策済み)を設置する
ムーバブルタイプでGoogleSitemapを使う。

スポンサードリンク

«MTのカテゴリー操作 色々 | メイン | 非常に美しいcoverflowスライドギャラリー『ImageFlow』»

このエントリーのトラックバックURL
http://blog.webcreativepark.net/cgi/mt/mt-bt.cgi/1117
コメント

こんにちは。はじめまして。sizaと言います。
MovableType3.31Jaを使っていて、意図通りのカスタマイズができずにもがいている最中にBlogを発見し、参考にさせていただきました。
このエントリーで紹介されているカスタマイズが出来れば、意図通りのことができそうなのですが、紹介されているようにテンプレートに埋め込んでも意図通りにはなりませんでした。
可能であれば修正方法、間違っている部分をおしえてもらえればと思い、コメントさせていただきます。
ただ意図していることが若干複雑なため、具体的な説明にかなりのテキスト量をお送りしなければなりません。
まずは意図していることを説明させてもらい、その上でもし修正方法等を教えていただけるのであれば、その旨回答をいただければと思います。
修正方法等、教えていただけるのであれば、試してみたソースと生成されたHTMLソースなどをお送りしたいと考えています。

1.意図していること
簡単に書くと「更新情報として表示されるエントリーのカテゴリー別に、表示されるテキストとリンク設定を別にしたい。」ということです。
適用したいページはMTのインデックス・テンプレートから生成されるWEBページ(カテゴリーをもたないページ)で、そのWEBページに、以下のような設定でサイトの更新情報を記載したいのです。
1-ア)特定の2つのカテゴリの更新情報を日付順に記載したい。
1-イ)片方のカテゴリの更新情報はエントリータイトルを表示させ、もう片方のカテゴリーの更新情報は特定のテキスト「ブログを更新」を表示したい。
1-ウ)それぞれのカテゴリの更新情報にはそれぞれのカテゴリ別に特定ページへリンクを貼りたい。

紹介されている方法は、この処理にバッチリだと思ったのですが・・・実際には出来ていません。
以上、長くなりましたが、よろしくお願いします。

投稿者:siza | 2008年7月17日 10:58

>sizaさん

MovableType3.31じゃたぶん動かないですね。
MovableType4.1にバージョンアップをお勧めしますが、無理なようでしたら以下のプラグインをお試しください。

http://www.drk7.jp/MT/archives/000829.html

書式は異なりますが、MTIfCategoryのような操作を行う為のプラグインになります。

投稿者:西畑一馬 | 2008年7月28日 20:31
コメントを投稿