Movable Typeの月別アーカイブリストで、エントリーのない月もグレーアウトで表示する

エントリーのない月もグレーアウトで表示されるよう、月別アーカイブリストを修正しました。
今まではこんな感じでした
エントリーのある月のみ表示されています。

<mt:IfArchiveTypeEnabled archive_type="Monthly"> <mt:ArchiveList archive_type="Yearly"> <mt:ArchiveListHeader> <div class="widget_monthly widget"> <h4>monthly</h4> <ul></mt:ArchiveListHeader> <li><$MTArchiveDate format="%Y"$><mt:ArchiveList archive_type="Monthly" sort_order="ascend"><mt:ArchiveListHeader><ul class="month"> </mt:ArchiveListHeader><li><a href="<$mt:ArchiveLink$>"><$MTArchiveDate format="%m"$></a></li> <mt:ArchiveListFooter></ul></li></mt:ArchiveListFooter></mt:ArchiveList> <mt:ArchiveListFooter></ul> <!-- // .widget_monthly / .widget --></div> </mt:ArchiveListFooter> </mt:ArchiveList> </mt:IfArchiveTypeEnabled>
こんな感じに修正しました
エントリーのない月も表示されるようになりました。

<mt:IfArchiveTypeEnabled archive_type="Monthly"> <mt:ArchiveList archive_type="Monthly"> <MTSetVarBlock name="tempYM">temp_<$MTArchiveDate format="%Y%m"></MTSetVarBlock> <MTSetVarBlock name="$tempYM"><$MTArchiveCount$></MTSetVarBlock> </MTArchiveList> <mt:ArchiveList archive_type="Yearly"> <mt:ArchiveListHeader> <div class="widget_monthly widget"> <h4>monthly</h4> <ul> </mt:ArchiveListHeader> <li><$MTArchiveDate format="%Y"$> <ul class="month"> <mt:For var="i" from="1" to="12"><mt:If name="i" le="9"><MTSetVarBlock name="tempM">0<$MTVar name="i"$></MTSetVarBlock><mt:Else><MTSetVarBlock name="tempM"><$MTVar name="i"$></MTSetVarBlock></mt:If> <MTSetVarBlock name="tempYM">temp_<$MTArchiveDate format="%Y"$><$MTVar name="tempM"$></MTSetVarBlock><li><mt:If name="$tempYM"><a href="<$MTBlogRelativeURL$>/archives/<$MTArchiveDate format="%Y"$>/<$MTVar name="tempM"$>/"><$MTVar name="tempM"$></a><mt:Else><$MTVar name="tempM"$></mt:If></li></mt:For> </ul></li> <mt:ArchiveListFooter> </ul> <!-- // .widget_monthly / .widget --></div> </mt:ArchiveListFooter> </mt:ArchiveList> </mt:IfArchiveTypeEnabled>
リンクURL取得の辺り、もうちょっとどうにかしたい気もしますが今回はこれで…。
参考サイト
備忘録:エントリーの無い月をグレーアウトする月別アーカイブリスト - :: Agnist in hatena ::下のボタンを押すと拍手送信&メッセージフォームが開きます。→WEB拍手お返事
Comment