mtde.info

Movable Type Developers Express

狙ったカテゴリのみを表示してエントリ展開するカテゴリリスト

2008年2月 3日 21:08 | Writer: apstar | 記事本文

狙ったカテゴリのみを表示するカテゴリリストのコードサンプルです。カテゴリは複数指定することができます。この例ではその上に狙ったカテゴリのみエントリ展開を行います。

keyword変数へ、表示したいカテゴリをカンマ区切り、OpenCat変数へはエントリ展開を行いたいカテゴリを列挙します。

MTCategoriesブロック内ループでは、ループ毎にカテゴリ名を取得してCurCat変数へ格納します。最初のMTIfでキーワード変数keywordに含まれるカテゴリを取得し、更にその内側のMTIfでカテゴリ展開を行うかどうかを調べています。このサンプルではどちらのMTIfにもlikeモデファイアを使用しています。

なお、展開するカテゴリを現在のカテゴリとしたい場合は、MTSetVarBlockを用いてOpenCat変数へ現在のカテゴリを代入してあげればいいでしょう。

コード

<MTSetVar name="keyword" value="変数,SetVar系,GetVar系,If系,For系,Loop系,共通モデファイア系,Tips系">
<MTSetVar name="OpenCat" value="If系,For系,Loop系">
<ul>
<MTCategories>
<MTSetVarBlock name="CurCat"><MTCategoryLabel></MTSetVarBlock>
<MTIf name="keyword" like="$CurCat">
  <li><a href="<$MTCategoryArchiveLink$>"<MTIfNonEmpty tag="MTCategoryDescription"> title="<$MTCategoryDescription$>"</MTIfNonEmpty>><$MTCategoryLabel$> (<$MTCategoryCount$>)</a></li>
   <MTIf name="OpenCat" like="$CurCat">
      <li><ul>
      <MTEntries>
         <li><a href="<MTEntryLink>"><MTEntryTitle></a></li>
      </MTEntries>
      </ul></li>
   </MTIf>
</MTIf>
</MTCategories>
</ul>

カテゴリ関連サンプル

2008 mtde.info