top

特定のカテゴリを表示・非表示にさせる(2) MT4版

使ったり使わなかったりしてるカスタマイズですが、これも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月26日 16:50
特定カテゴリーの表示/非表示にするプラグインダウンロード。使用方法説明ページ。
トラックバック Movable Typeでプラグインを使わず特定のカテゴリの表示・非表示を切り替える  »» 2008年9月 6日 23:53
MovableTypeでは、特定のカテゴリの表示・非表示を切り替えるのにプラグイ...
トラックバック 特定のカテゴリを非表示  »» 2012年6月25日 10:41
&nbsp;サイドバーのカテゴリで、特定のカテゴリだけ非表示にする方法です。参考特定のカテゴリを表示・非表示にさせる(2) MT4版 この方法を用...

コメント

こんにちは。
先日クローバーフィールドみてきました。ちょっと酔いました...

え、カテゴリーの非表示でわかったら教えていただきたいんですが...

カテゴリーA
 Aのサブ1
 Aのサブ2
 Aのサブ3
カテゴリーB
 Bのサブ1
 Bのサブ2
 Bのサブ3

みたいな構成で。
カテゴリーA、Bともにトップのカテゴリー名は表示。
サブカテゴリーは、Bの方だけ表示させたい、なんてことはできるんでしょうか?

クローバーフィールド、見てこられましたか!
確かに人によっては酔うこともあるかもですね(^^;。

>カテゴリーの非表示
この場合は Aのサブ1、Aのサブ2、Aのサブ3 の3つを非表示指定すればいいと思います。
単純に非表示にしたいカテゴリ名を入れていくだけですので、試してみて下さい。

おはようございます。
単純に追記でOKなのですね。
ということは、表示させたくないカテゴリーが増えたら、テンプレートをメンテしないとなのですねー。
試してみます、ありがとうございましたー。

はい、任意のカテゴリーを表示させたくない場合、どこかでそれを指定しないといけないので、テンプレートでその指定を行っているということですね。よろしくです。