MT:サブカテゴリを3列に分けて表示する

mt:SubCategoriesで表示するサブカテゴリを以下のように3列に分けて表示する方法です。

  • AAA
  • BBB
  • CCC
  • DDD
  • EEE
  • FFF
  • GGG
  • HHH
  • III

(1) 総サブカテゴリー数をカウントして、3で割ります。

<mt:Setvar name="countSubs" value="0">
<mt:SubCategories category="親カテゴリー名"><mt:SetVar name="countSubs" value="1" op="+"></mt:SubCategories>

<mt:SetVars>threeSubs=<$mt:Var name="countSubs" op="/" value="3" sprintf="%d"$>
</mt:SetVars>

(2) (1)で出した数を利用して3列にします。こちらはBootstrapのグリッドシステムに基いて記述しています。

<div class="row-fluid">
<div class="span4">
<ul>
<mt:Setvar name="count" value="0">
<mt:SubCategories category="親カテゴリー名">
<mt:If tag="EntriesCount"><li><a href="<$mt:CategoryArchiveLink$>"><$MTCategoryLabel$></a></li><mt:SetVar name="count" value="1" op="+">
</mt:If>
<mt:SubCatIsLast></ul>
</div></div>
<mt:Else>
<mt:If name="count" eq="$threeSubs">
</ul>
</div>
<div class="span4">
<ul>
<mt:Setvar name="count" value="0">
</mt:If>
</mt:Else></mt:SubCatIsLast>
</mt:SubCategories>