2014.05.05追記
MTOS 5.2.10でも同様の現象が発生するので追記。
MTIfCategoryで「pattern="/カテ1|カテ2|カテ3/"」などと複数のカテゴリを一気に指定すると、MTElseの分岐は使えないようです。。。
追記終わり。
毎度のお話ですが、ウチはMT3.34です。MT4関連の情報が欲しい方は他をお探し下さい(^_^;
私のサイトの一番のメインであるはずのCGブログのリニューアル、遅々として進んでいません。今現在、そんなに時間をかけていませんもの。当たり前だ(^_^;
で、久々にCGブログのリニューアルの準備を進めてみるのですが、何故かカテゴリーページと、個別ページ下の関連ページへのリンクを貼るタグが上手く作動しません。。。。
色々試行錯誤してみましたが、さくらのレンタルサーバ(に限らないのかもしれないけど)で、MTをphp化した場合、MTIfCategoryの条件分岐に<MTElse>を付けた場合、MTIfCategory自体が全く作動し無いようです。。。
具体的に書くと
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfCategory name="090その他">
<MTElse>
<MTIfNonZero tag="MTCategoryCount">
<li><ahref="<$MTCategoryArchiveLink$>"title="<$MTCategoryDescription$>"> <MTCategoryLabelcutfirstchar="3"></a>
<MTElse>
<li><MTCategoryLabel cutfirstchar="3">
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTElse>
</MTIfCategory>
</MTSubCategories>
▲赤字部分を消さないとMTIfCategoryは作動しなくなりました。
カテゴリは作っておきたいけど、大した事書いていないのでサイドバーのカテゴリ一覧からは隠したい場合、別の方法を考えなければいけません。
他にもありまして、MTEntryIfCategoryタグもname属性に"or"を使って複数のカテゴリ名を指定すると、MTEntryIfCategoryタグ自体が無効になるみたい。
<MTEntryIfCategory name="他愛もないトピックス"or"小さい文字にしたいカテゴリ">
小さい文字でエントリ表示する(タグ省略)
<MTElse>
大きい文字でエントリ表示する(タグ省略)
</MTElse>
</MTEntryIfCategory>
▲こちらも赤字部分、「or」を使って複数のカテゴリ指定が出来なくなりました(;´ω`)
or以前は効いていた筈なのに。。。
それからMTElseも効かなくなったっぽいです。。。
どっちも本当にMTのphp化が原因なのか、それ以外の要因が原因なのか、今の所よく解りません。
解決策
前者(MTIfCategory )は一応解決策は見つかりまして、MTFilterCategoriesタグを使用することでなんとかなりました。
FilterCategoriesはプラグインとして提供され、以下で入手出来ます。
http://www.staggernation.com/mtplugins/#FilterCategories
具体的にはこんなカンジにして解決▼
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst><MTFilterCategories exclude="090その他">
<MTIfNonZero tag="MTCategoryCount"><li><ahref="<$MTCategoryArchiveLink$>"title="<$MTCategoryDescription$>"rel="nofollow"><MTCategoryLabelcutfirstchar="3"></a><MTElse><li><MTCategoryLabelcutfirstchar="3"></MTElse></MTIfNonZero><MTSubCatsRecursemax_depth="3"></li>
<MTSubCatIsLast></ul></MTSubCatIsLast></MTFilterCategories></MTSubCategories>
詳しい使い方は
Movable Type 備忘録 - 特定のカテゴリを表示させないようにする
上記あたりで。
隠したいカテゴリが複数ある場合は
<MTFilterCategories exclude="隠したいカテゴリ名1|隠したいカテゴリ名2">
と正規表現かjava scriptみたいな記述法をとります。
後者は今の所解決策見つからず。
な~んか思ったようなカテゴライズが出来ず、のんびり作業進めています。