「インデックステンプレートは、カテゴリリストの一番最初のカテゴリ記事を表示してほしい」
という、言葉では非常に簡単なのに、ぜんぜん一筋縄ではいかなかった要望に応えてみました。
まずは最初に表示されるカテゴリ名を取得します。
カテゴリリストは、MT上で並べ替えた順に出したいので、TopLevelCategoriesを使用。
Entriesで言えば、limit=”1″のようなことがしたいけど、
そんなモディファイアは使えません。
なので、TopLevelCategoriesでCategoryLabelを配列にして出力させ、
その1番目を抜き出すことにしたらできました。
<mt:TopLevelCategories> <$mt:CategoryLabel setvar="category"$> <$mt:Var name="push(cat)" value="$category"$> </mt:TopLevelCategories> <$mt:Var name="cat[0]"$>
その後、この変数をEntiresのcategoryモディファイアに入れて出力させようと思ったら出ない。。
なので、この変数をさらに変数に変換してみました。
<mt:SetVarBlock name="firstCat"> <$mt:Var name="cat[0]"$> </mt:SetVarBlock>
これをEntiresに入れてみたら、無事成功しました。
<mt:Entries sort_order="ascend" category="$firstCat"> hogehoge </mt:Entries>
これを使う機会はほとんどないと思うけど、念のための備忘録です。