purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

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>