カテゴリ一覧を件数で区切って表示

電脳備忘録

仕事でwordpressを触っていたので、しばらくそれ関係の備忘録ばかりでしたが、久しぶりにMovableTypeの備忘録です。

このブログのカテゴリ一覧をみていて、カテゴリが増えるとそれだけ縦に長くなるのが嫌だったので、20件ごとに区切って横並びに出力するようにしました。
参考にしたのは下記のエントリー。参照先はフォルダ一覧を指定した件数で区切って表示する方法についてですが、かなり参考になりました。

「フォルダの一覧を4つずつ区切って、ul/li要素のリストで出力したい」というような内容の質問がありました。
この事例のように、各種のオブジェクトのリストを、一定件数ずつに区切って出力したいことは、よくあることです。
この方法を紹介します。

リストを一定件数ずつ区切って出力する
<$mt:SetVar name="ctr" value="1"$>
<mt:TopLevelCategories>
<$mt:SetVar name="mod" value="$ctr"$>
<$mt:SetVar name="mod" op="%" value="20"$>
<mt:If name="mod" eq="1">
<ul class="categories">
</mt:If>
<mt:If tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li><$mt:CategoryLabel$>
</mt:If>
<$mt:SubCatsRecurse$></li>
<mt:If name="mod" eq="0">
</ul>
</mt:If>
<$mt:SetVar name="ctr" op="++"$>
</mt:TopLevelCategories>
<mt:If name="mod" ne="0">
</ul>
<mt:Else>
<mt:SubCatIsFirst>
<ul>
</mt:SubCatIsFirst>
</mt:If>
</mt:IfArchiveTypeEnabled>
Newer
Older
Dark
Light
menu