日付タグのフォーマット

Movable Type は標準的な strftime の形式の文字列を日付と時刻を表示するために使います。(実際にはstrftimeそれ自体を使っているわけではありません。) どの日付タグでも、format モディファイアを使って、表示文字列のフォーマットを設定できます。

<$MTDate format="%B %e, %Y %I:%M %p"$>

この例は、実際に使われている英語のデフォルトフォーマットで、次のように表示します。

September 20, 2001 11:44 PM

format モディファイアで指定できるパラメーターは次のとおりです。

%Y

年を、4桁の数字で表示します。(例: 2002)

%y

年を、2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 09)

%b

月の名前を、省略形式で表示します。(例: Sep、9)

%B

月の名前を、完全形式で表示します。(例: September、9)

%m

月を、2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 09)

%d

日付を、2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 08)

%e

日付を、2桁の数字で表示します。1桁の場合は、  (空白) が付加されます。(例:  8)

%j

年初からの日を、3桁の数字で表示します。1桁、2桁の場合は、0が付加されます。(例: 078)

%H

時刻を、24時間形式の2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 08)

%k

時刻を、24時間形式の2桁の数字で表示します。1桁の場合は、  (空白) が付加されます。(例:  8)

%I

時刻を、12時間形式の2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 08)

%l

時刻を、12時間形式の2桁の数字で表示します。1桁の場合は、  (空白) が付加されます。(例:  8)

%M

分を、2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 09)

%S

秒を、2桁の数字で表示します。1桁の場合は、0が付加されます。(例: 09)

%p

午前か午後を表示します。AM、もしくはPMを表示します。

%a

曜日を、省略形式で表示します。(例: Tue、火)

%A

曜日を、完全形式で表示します。(例: Tuesday、火曜日)

%w

曜日を、0 ~ 6の数字で表示します。日曜日が0になります。

%x

言語に合わせて、日付を表示します。ほとんどの言語では、%B %d, %Yと同じです。(例: September 06, 2002、2002年09月06日)

%X

言語に合わせて、時刻を表示します。ほとんどの言語では、%I:%M %pと同じです。(例: 04:31 PM、16:31)

言語別の日付フォーマット

日付タグは、language モディファイアを指定することで、各言語にあったフォーマットで表示できます。format="%x"やformat="%X"と組み合わせることで、自由に表示できます。

言語別の日付フォーマットは、次のとおりです。

language="cz"

日付を、チェコ語の形式で表示します。(例: 23. Květen 2006 11:44)

language="dk"

日付を、デンマーク語の形式で表示します。(例: 23.05.2006 11:44)

language="nl"

日付を、オランダ語の形式で表示します。(例: 23 mei 2006 11:44)

language="en"

日付を、英語の形式で表示します。(例: May 23, 2006 11:44 AM)

language="fr"

日付を、フランス語の形式で表示します。(例: mai 23, 2006 11:44 AM)

language="de"

日付を、ドイツ語の形式で表示します。(例: 23.05.06 11:44)

language="is"

日付を、アイスランド語の形式で表示します。(例: 23.05.06 11:44)

language="ja"

日付を、日本語の形式で表示します。(例: 2006年05月23日 11:44)

language="it"

日付を、イタリア語の形式で表示します。(例: 23.05.06 11:44)

language="no"

日付を、ノルウェー語の形式で表示します。(例: Mai 23, 2006 11:44 FM)

language="pl"

日付を、ポーランド語の形式で表示します。(例: 23 maja 2006 11:44)

language="pt"

日付を、ポルトガル語の形式で表示します。(例: maio 23, 2006 11:44 AM)

language="si"

日付を、スロベニア語の形式で表示します。(例: 23.05.06 11:44)

language="es"

日付を、スペイン語の形式で表示します。(例: Mayo 23, 2006 11:44 AM)

language="fi"

日付を、フィンランド語の形式で表示します。(例: 23.05.06 11:44)

language="se"

日付を、スウェーデン語の形式で表示します。(例: maj 23, 2006 11:44 FM)

フォーマット名による指定

日付タグは、format_name モディファイアを指定することで、あらかじめ定義された日付のフォーマットを利用することができます。

format_name="iso8601"

日付を ISO 8610 フォーマットで表示します。(例: 2006-05-23T11:44:09+09:00)

format_name="rfc822"

日付を RFC822 フォーマットで表示します。(例: Mon, 23 May 2006 11:44:09 +0900)

2008/11/15(土) 11/45/17 | TRICKSTER

ダイナミックパブリッシングでのページ分割

この機能は、詳細なテストを行っていない実験的な機能ですので、サポート対象外です。

Movable Type 4.2 では、ダイナミックパブリッシングを使ったアーカイブテンプレートの出力結果をページ分割できる機能を追加しました。このドキュメントでは、テンプレートの変更方法や、ページ分割に関するカスタマイズの方法を解説します。

必要な環境

Movable Type は通常、Apache の ErrorDocument ディレクティブを使用してダイナミックパブリッシングを行います。ページ分割機能を有効にするには、RewriteRule ディレクティブを使用して、ダイナミックパブリッシングを行うように設定します。

Apache の設定を編集する

すでにダイナミックパブリッシングを導入しているなら、ブログのルートディレクトリにある .htaccess ファイルを編集します。テキストエディタなどで .htaccess を開いて、次のコードと似た部分へ移動します。

RewriteRule ^(.*)$ $mtview_server_url [L,QSA]

そして、次のように変更します。

RewriteRule ^(.*)(\?.*)?$ $mtview_server_url$2 [L,QSA]

テンプレートの編集

次のテンプレートをコピーしてください。

<div class="content-nav">
<MTIfPreviousResults><a href="<MTPreviousLink encode_html="1">" rel="prev">
&laquo; Previous</a>&nbsp;&nbsp;</MTIfPreviousResults>
<MTPagerBlock>
<MTIfCurrentPage><MTVar name="__value__"><MTElse><a href="<MTPagerLink encode_html="1">"><MTVar name="__value__"></a></MTIfCurrentPage>
<mt:unless name="__last__">&nbsp;</mt:unless>
</MTPagerBlock>
<MTIfMoreResults>&nbsp;&nbsp;<a href="<MTNextLink encode_html="1">" rel="next">
Next &raquo;</a>
</MTIfMoreResults>
</div>

ここではカテゴリ別ブログ記事リストテンプレートを編集します。既に、カテゴリ別ブログ記事リストテンプレートには class の値が content-nav の div 要素で囲まれたブロックがあるので、その部分をコピーしたテンプレートと置き換えます。

次にカテゴリ別ブログ記事リストテンプレートの中から MTEntries ブロックタグを探します。MTEntries ブロックタグに、値が auto の offset モディファイアを追加するか、既に offset モディファイアがあったら値を auto に変更します。また limit モディファイアで、1ページに表示する件数 (例えば 10) を設定します。

2008/11/15(土) 11/22/03 | TRICKSTER