かなり基本的な内容ですが、ソースをコピペできるようにという意味でエントリーしておきます。 Movable Type では、 MTEntryDateなど日付に関するテンプレートダグがいくつか用意されています。 タグ date を含むテンプレートタグ一覧 それらのテンプレートタグには、format モディファイアなどにパラメーターを指定することで、様々な表示形式にすることができます。しかし、これらの...
かなり基本的な内容ですが、ソースをコピペできるようにという意味でエントリーしておきます。
Movable Type では、 MTEntryDateなど日付に関するテンプレートダグがいくつか用意されています。
それらのテンプレートタグには、format モディファイアなどにパラメーターを指定することで、様々な表示形式にすることができます。しかし、これらのパラメーターの中には、「日」に関しては、1桁の場合(1日〜9日)は0が付加されるもとの空白が付加されるパラメーターがありますが、「月」に関しては、1桁の場合(1月〜9月)は0が付加されるものしかありません。
前置きが長くなりましたが、今回は、MTIf タグを使って条件分岐する方法で、1桁の「月」の場合に空白を付加します。
完成したテンプレートは以下の通りです。見やすいように改行しています。
<$mt:EntryDate format="%Y" cat="年"$>
<$mt:EntryDate format="%b" setvar="entry_date"$>
<mt:If name="entry_date" lt="10"> </mt:If>
<$mt:GetVar name="entry_date" cat="月"$>
<$mt:EntryDate format="%e" cat="日"$>
MTIfタグの ltモディファイアで、「10より小さい場合」という条件を与えています。
catモディファイアは、出力する値の末尾に指定した文字列を追加するグローバルモディファイアです。catモディファイアを利用せずに直接「年」「月」「日」を書いても良いと思いますが、この方がスッキリする気がします。
例えば、企業サイトのトップページなどで良くある新着情報リストは以下のようになります。
<mt:Entries lastn="5">
<mt:EntriesHeader><dl></mt:EntriesHeader>
<dt><$mt:EntryDate format="%Y" cat="年"$><$mt:EntryDate format="%b" setvar="entry_date"$><mt:If name="entry_date" lt="10"> </mt:If><$mt:GetVar name="entry_date" cat="月"$><$mt:EntryDate format="%e" cat="日"$></dt>
<dd><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle encode_html="1"$></a></dd>
<mt:EntriesFooter></dl></mt:EntriesFooter>
</mt:Entries>
実際に再構築してみると以下の通りです。横並びはCSSで調整しています。
<$mt:EntryDate format="%Y" cat="年"$><$mt:EntryDate format="%b" setvar="entry_date"$><$mt:GetVar name="entry_date" cat="月"$><$mt:EntryDate format="%e" cat="日"$> <$mt:EntryTitle encode_html="1"$>Webサイトのフォントに等幅を指定しない限り、きちっとは揃いませんが、1桁の「月」も見やすくなると思います。
これに「Movable Type のブログ記事の公開日時を年号(元号)で表示する」方法を使えば、以下のようになります。
<$mt:EntryDate format="%Y%m%d"$><$mt:EntryDate format="%Y"$>昭和<$mt:GetVar name="entry_date_nengou"$>年<$mt:EntryDate format="%Y"$>平成元年<$mt:EntryDate format="%Y"$>平成<$mt:GetVar name="entry_date_nengou"$>年<$mt:GetVar name="entry_date_nengou"$><$mt:EntryDate format="%b" setvar="entry_date"$><$mt:GetVar name="entry_date" cat="月"$><$mt:EntryDate format="%e" cat="日"$> <$mt:EntryTitle encode_html="1"$>以上です。