アルファサード株式会社 代表取締役 野田 純生のブログ


月別アーカイブのリストに「年度」見出しを付ける(訂正)。


公開日 : 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>

=========================================================
カテゴリ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ