月別アーカイブのリストに「年度」見出しを付ける(訂正)。
公開日 : 2008-01-07 15:03:23
某案件のMTのテンプレートの出力結果がおかしいのでちょっと調べますとのことで、しばらくしてからマークアップ担当からメールが来てこの記事の内容に間違いがあったとのこと。
なので、もらったメールをそのまま貼付けてエントリーを上げるという何という手抜き(笑)。
年度別+月別アーカイブのツリー表示の件ですが、野田さんがブログで公開
されているテンプレート
(/online/2007/11/_mtarc.html)
を使用した場合、
1〜3月の記事が最新の場合に先頭に来る年度が2度表示されてしまいます。
これは、最初の<MTArchiveList>のループのときに下記の部分も表示してしまう
のが原因です。
=========================================================
<mt:if name="FiscalYear" gt="$YYYYMM">
<mt:unless name="printYear">
</ul><$MTArchiveDate format="%Y" calculation="-1"$>年度
<ul class="module-list"><mt:setvar name="printYear" value="1">
</mt:unless>
</mt:if>
=========================================================
下記のソースで解決するかと思われます。
=========================================================
<MTArchiveList archive_type="Monthly">
<mt:unless name="Year">
<mt:setvarblock name="startMonth"><$MTArchiveDate
format="%m"$></mt:setvarblock>
<mt:if name="startMonth" lt="4">
<$MTArchiveDate format="%Y" calculation="-1"$>年度
<ul class="module-list"><mt:else>
<$MTArchiveDate format="%Y"$>年度
<ul class="module-list"></mt:else>
</mt:if>
<mt:setvar name="printYear" value="1"> <====================追加
</mt:unless>
<mt:setvarblock name="CompareYear"><$MTArchiveDate
format="%Y"$></mt:setvarblock>
<mt:if name="Year" ne="$CompareYear"><mt:if name="printYear"><mt:setvar
name="printYear" value="0"><mt:else>
</ul><mt:var name="CompareYear">年度
<ul class="module-list"></mt:else></mt:if></mt:if>
<mt:setvarblock name="Year"><$MTArchiveDate format="%Y"$></mt:setvarblock>
<mt:setvarblock name="YYYYMM"><$MTArchiveDate
format="%Y"$><$MTArchiveDate format="%m"$></mt:setvarblock>
<mt:setvarblock name="FiscalYear"><$MTArchiveDate
format="%Y"$>04</mt:setvarblock>
<mt:if name="FiscalYear" gt="$YYYYMM">
<mt:unless name="printYear">
</ul><$MTArchiveDate format="%Y" calculation="-1"$>年度
<ul class="module-list"><mt:setvar name="printYear" value="1">
</mt:unless>
</mt:if>
<li class="module-list-item"><a
href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
<MTArchiveListFooter>
</ul>
</MTArchiveListFooter>
</MTArchiveList>
=========================================================