Home > Movable Type > カテゴリA以下のページで、Aのサブカテゴリのリストを並列に表示する

カテゴリA以下のページで、Aのサブカテゴリのリストを並列に表示する

  • カテゴリA以下のページでは常に表示する
  • 公開済みの記事があるサブカテゴリのみ表示する
  • 公開済みの記事が一件も無い場合は完全に非表示になる

悩ましいのは最後のリストにclass="lastChild"とか付けたいんだけど出来ないこと。

<MTTopLevelParent>
    <MTSubCategories include_current="1">
        <MTSetVarBlock name="tmpCategoryCount"><MTSubCategories><$MTCategoryCount$><$MTSubCatsRecurse$></MTSubCategories></MTSetVarBlock>
        <MTIf name="tmpCategoryCount" gt="0">
            <MTSubCatIsFirst><div>
                <h3><$MTCategoryLabel$>のサブカテゴリ</h3>
                <ul></MTSubCatIsFirst>
                    <MTSubCategories>
                        <MTIfNonZero tag="MTCategoryCount">
                            <li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li>
                        </MTIfNonZero>
                        <$MTSubCatsRecurse$>
                    </MTSubCategories>
                <MTSubCatIsLast></ul>
            </div></MTSubCatIsLast>
        </MTIf>
    </MTSubCategories>
</MTTopLevelParent>

MTSubCategories では記事が一件もないカテゴリでも出力してしまう。単純に<MTIfNonZero tag="MTCategoryCount">だけ使うとヘッダとフッタ部分を非表示にできないので、

<MTSetVarBlock name="tmpCategoryCount"><MTSubCategories><$MTCategoryCount$><$MTSubCatsRecurse$></MTSubCategories></MTSetVarBlock>

でサブカテゴリの記事件数を出力。
カテゴリ分くりかえすので 0120112 とか辺な数字になるけど気にしない。

<MTIf name="tmpCategoryCount" gt="0">

として、0より大きかったら実行する。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://retlet.net/cgi-bin/mtos/mt-t.cgi/19
Listed below are links to weblogs that reference
カテゴリA以下のページで、Aのサブカテゴリのリストを並列に表示する from retlet.net

Home > Movable Type > カテゴリA以下のページで、Aのサブカテゴリのリストを並列に表示する

Search
Feeds

Return to page top