石輪っぷり!
年度別アーカイブの作成と和暦表記
2009年10月 5日 18時16分 | コメント(0) | トラックバック(0)
※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。
Movable Type の日付表記は西暦表記ですが、現在製作中のサイトでは、様々な情報の日付表記が和暦となっており、また4月から3月までの年度単位で情報が更新されることから、各日付の和暦表記と年度別アーカイブの作成を行いました。
まず、年度別アーカイブ。これは Hirotaka Ogawa さんの FiscalYearlyArchives プラグインを導入することで簡単にできます。
アーカイブパスにその年度の数字を入れる場合は、<$MTArchiveFiscalYear$> を記述します。
さて、問題は和暦表記です。何かプラグインがないかと探してみましたが、見つかりませんでした。そこで、いくつかのblogで紹介されているように、西暦から引き算して表示する方法をとりました。
例えば、エントリー日付を和暦表記とする場合。
<mt:SetVarBlock name="entry_year"><$mt:EntryDate format="%Y"></mt:SetVarBlock>
<mt:SetVar name="entry_year" op="-" value="1988">
<p class="entry-date">平成<$mt:Var name="entry_year"$>年<$mt:EntryDate format="%B月%e日"$></p>
となります。
そして、パンくずリストなどで、エントリーアーカイブから年度別ページへのリンクを生成する場合はちょっと複雑になります。因みに、エントリーアーカイブのテンプレート内で <$MTArchiveFiscalYear$> を使用するはできません。
<mt:SetVarBlock name="entry_year"><$mt:EntryDate format="%Y"$></mt:SetVarBlock>
<mt:SetVarBlock name="archive_year"><$mt:Var name="entry_year"></mt:SetVarBlock>
<mt:SetVar name="entry_year" op="-" value="1988">
<mt:SetVarBlock name="archive_month"><$mt:EntryDate format="%b"$></mt:SetVarBlock>
<mt:If name="archive_month" le="3"><mt:SetVar name="archive_year" op="-" value="1"></mt:If>
<mt:SetVarBlock name="fiscal_year"><$mt:Var name="archive_year"></mt:SetVarBlock>
<mt:SetVar name="fiscal_year" op="-" value="1988">
<mt:SetVarBlock name="archive_title">平成<$mt:Var name="fiscal_year"$>年度</mt:SetVarBlock>
まず、変数 "entry_year" にエントリー日付の西暦を代入し、その値を "archive_year" にも代入しておきます。
そして、"entry_year" から 1988 を引くと、エントリー日付の平成○○年が求まります。これは、前述のエントリー日付の表示に使用します。
次に、変数 "archive_month" にエントリー日付の月を代入します。この "archive_month" の値が 3 以下である場合、"archive_year" の値を 1 引きます。これが、年度別アーカイブのフォルダ名になります。
続いて、変数 "fiscal_year" に "archive_year" の値を代入し、これから 1988 を引きます。変数 "archive_title" を、"平成<$mt:Var name="fiscal_year"$>年度" としたものが、年度別ページのタイトルになります。
以上で求まった値を使い、以下のようなパンくずリストのコードができます。
<p><a href="/">トップページ</a> > <a href="<$mt:BlogUrl$>"><$mt:BlogName$></a> > <a href="<$mt:BlogUrl$><$mt:Var name="archive_year"$>/"><$mt:Var name="archive_title"$></a> > <em><$mt:EntryTitle encode_html="1"$></em></p>
#平成の内はこれでよいですが、将来元号が替わると、もっと複雑な条件分岐を行わなくてはなりません。
トラックバック(0件)
- :
- « 前の記事
- IEを"Chrome並みに"改良するプラグイン
- 次の記事 »
- Movable Type 5 発売日決定

コメント(0件)
コメントする