« KakuからMovable Typeに投稿 | ホーム | Macのアプリケーションアイコンを他のアプリにコピーする »

2008年4月25日

カテゴリ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より大きかったら実行する。

トラックバック(0)

トラックバックURL: http://retlet.net/cgi-bin/mt5/mt-tb.cgi/19

コメントする

ウェブページ

OpenID対応しています OpenIDについて

このブログ記事について

このページは、retletが2008年4月25日 00:17に書いたブログ記事です。

ひとつ前のブログ記事は「KakuからMovable Typeに投稿」です。

次のブログ記事は「Macのアプリケーションアイコンを他のアプリにコピーする」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。