MTで年ごとに記事一覧を表示する
配列の入れ子の書き方はこちらを参考
http://www.koikikukan.com/archives/2009/12/15-005555.php
値のSET
<mt:Entries lastn="9999"> <mt:Ignore>変数に年、タイトルをset</mt:Ignore> <mt:SetVarBlock name="year"><$mt:EntryDate format='%Y'$></mt:SetVarBlock> <mt:SetVarBlock name="title"><$mt:EntryTitle$></mt:SetVarBlock> <mt:Ignore>配列に値をセット</mt:Ignore> <mt:SetVar name="item{year}" value="$year" /> <mt:SetVar name="item{title}" value="$title" /> <mt:Ignore>連想配列(ハッシュ)の値に配列をセット</mt:Ignore> <mt:If name="title" ne=""> <mt:SetVar name="list" function="push" value="$item" /> </mt:If> </mt:Entries>
表示
まだ年ごとにまとめる部分は書きかけです。出来たら追記します。
<mt:Ignore>表示用一時配列にセット</mt:Ignore> <mt:Ignore>配列の要素数を取得</mt:Ignore> <mt:SetVarBlock name="count"><MTGetVar name="count(list)"></mt:SetVarBlock> <mt:Ignore>for文で配列の数だけまわす</mt:Ignore> <mt:for var="i" from="0" to="$count" glue= ""> <mt:Ignore>list配列をvar変数にいれる</mt:Ignore> <mt:GetVar name="list[$i]" setvar="val" /> <mt:GetVar name="val{year}" /> <mt:GetVar name="val{title}" /> </mt:for>