使ったり使わなかったりしてるカスタマイズですが、これもMT4ならプラグインなしで出来るので、覚え書きしておきます。方法はいろいろありますが、ここではFilterCategoriesプラグインとほぼ同様の使い勝手が出来る方法で(つまりFilterCategoriesプラグインからの移行にも使えるという)。複数のカテゴリをまとめて制御できます。
■特定のカテゴリーを非表示にする
赤字の部分を追加して使います。この例だとカテゴリAとカテゴリBの2つのカテゴリが非表示になります。
なお、MTTopLevelCategoriesを使って階層表示にしているときは、親カテゴリを非表示にすると子カテゴリも表示されなくなります(MTCategoriesなら指定したカテゴリのみが非表示になります)。
<MTTopLevelCategories>
<MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst>
<MTSetVarBlock name="catname"><$MTCategoryLabel$></MTSetVarBlock>
<MTUnless name="catname" like="カテゴリA|カテゴリB">
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>">
<$MTCategoryLabel$>(<$MTCategoryCount$>)</a>
<MTElse>
<li><$MTCategoryLabel$>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
</MTUnless>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
■特定のカテゴリーのみ表示させる
赤字の部分を追加して使います。この例だとカテゴリAとカテゴリBの2つのカテゴリのみが表示されます。
なお、MTTopLevelCategoriesを使って階層表示にしているときは、子カテゴリを表示させるためには親カテゴリも指定しておく必要があります(MTCategoriesなら指定したカテゴリのみで表示されます)。
<MTTopLevelCategories>
<MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst>
<MTSetVarBlock name="catname"><$MTCategoryLabel$></MTSetVarBlock>
<MTIf name="catname" like="カテゴリA|カテゴリB">
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>">
<$MTCategoryLabel$>(<$MTCategoryCount$>)</a>
<MTElse>
<li><$MTCategoryLabel$>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
</MTIf>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
likeモディファイアは正規表現ができるので、「|」で区切っていくつでもカテゴリを指定できるようです。簡単でいいですね。
これでダイナミックでもプラグインなしでカテゴリ使い分け自由自在。もう素直に嬉しい(笑)。
コメント
さじ | 2008年5月16日 14:38
こんにちは。
先日クローバーフィールドみてきました。ちょっと酔いました...
え、カテゴリーの非表示でわかったら教えていただきたいんですが...
カテゴリーA
Aのサブ1
Aのサブ2
Aのサブ3
カテゴリーB
Bのサブ1
Bのサブ2
Bのサブ3
みたいな構成で。
カテゴリーA、Bともにトップのカテゴリー名は表示。
サブカテゴリーは、Bの方だけ表示させたい、なんてことはできるんでしょうか?
TAEKO | 2008年5月17日 00:59
クローバーフィールド、見てこられましたか!
確かに人によっては酔うこともあるかもですね(^^;。
>カテゴリーの非表示
この場合は Aのサブ1、Aのサブ2、Aのサブ3 の3つを非表示指定すればいいと思います。
単純に非表示にしたいカテゴリ名を入れていくだけですので、試してみて下さい。
さじ | 2008年5月19日 09:21
おはようございます。
単純に追記でOKなのですね。
ということは、表示させたくないカテゴリーが増えたら、テンプレートをメンテしないとなのですねー。
試してみます、ありがとうございましたー。
TAEKO | 2008年5月20日 09:23
はい、任意のカテゴリーを表示させたくない場合、どこかでそれを指定しないといけないので、テンプレートでその指定を行っているということですね。よろしくです。