Movable Type のテンプレートは、標準テキスト、もしくはHTMLの標準的な構文の中に、特別なタグが埋め込まれることで構成されています。正確には、タグは「コンテナ」タグで、サブテンプレートと呼ばれるような、二つの異なるMTタグで囲まれたテキストとMTタグで構成されています。主には、コンテナ・タグはループか状態・条件(コンディション)を表しています。
コンテナでないタグは、単純な変数タグで、情報の動的な一部に置き換わります。
すべてのMovable Typeのタグは「<
」と「>
」で囲まれて、HTMLタグそっくりです。以下の例のように、記号の間に$
を入れることがあります。
<$MTEntryBody$>
これはHTMLタグとMovableTypeタグのどちらのタグなのか、素早く区別するためです。
Movable Typeタグには、アトリビューション(属性値)を設定できます。タグのアトリビューションはHTMLのタグのアトリビューションと同様の仕組みで、タグの中に name="value"
と名前と値のペアのリストが半角空白を区切りにリストされます。例えば
<MTEntries author="Foo" category="Bar">
このタグがどう働くのかは、MTEntries
の説明を見てください。
アトリビュートの値は必ず「"
」(ダブルクオーテーション)で囲んでください。さもないと、正しく動作しないことがあります。「$
」付きのMTタグでアトリビュートを使うときは、後ろの「$
」の前にアトリビューションをおいてください。以下に例を挙げます。
<$MTEntryDate format="%B %e, %Y"$>
いくつかのアトリニュートはグローバル、すなわちMovable Typeの変数置換タグすべてに利用できます。グローバル・アトリビュートについては、「グローバル・タグ・アトリビュート」で説明します。その他のアトリビュートは、タグそれぞれ違います。特定のタグでしか動作しません。これらのアトリビュートについては、それぞれのタグの説明のなかで紹介します。
いくつかのMTタグでは、利用する場所が限定されます。例えば、MTComments
は コメント・ポップアップ
テンプレート、もしくは Individual
エントリー・アーカイブなど個別エントリーの中でのみ利用できます。
<$MTBlog*$>
タグを利用できます。
Archive URL
。ウェブログの設定画面に項目があります。
Site URL
(ウェブログの設定画面)が、http://www.your-site.com/blog/ならば、www.your-site.com
になります。
+|-hh:mm
のような形式で表示されます。例えば、タイムゾーンがUTCより4
進んでいるときは、+04:00
と表示されるでしょう。
このタグは使われる場面によって異なる動作をします。エントリーに適用されたときには、RDFに、そのエントリーについての情報が追加して含まれます。そうでなければ、一般のウェブログの情報に基づきます。
N
日間に投稿されたエントリーが表示されます。このN
日は、ウェブログの設定で、それぞれのウェブログごとに設定することができます。変更するには、以下のアトリビュートを使ってください。
N
個のエントリーを表示します。N
は0より大きい数字にしてください。
lastn
を使うときに、最新のM
個のエントリーを除外して、そこから、N
個のエントリーを表示します。例えば、
<MTEntries lastn="5" offset="5"> ... </MTEntries>
と書いた場合、6番目から10番目の、5個のエントリーが表示されます。
注意: このタグは lastn
と一緒に使います
category name
のすべてのエントリーを表示します。カテゴリーに多数のエントリーがあるときには、大きなページになってしまう可能性がありますので、注意してください。lastn
を使って、決まった数のエントリーだけを表示するようにしたほうがいいかもしれません。
複数のカテゴリーのエントリーを一緒に表示したいとき、もしくは、複数のカテゴリーを設定したエントリーに限定したちとき、category name
にAND
やOR
を使います。同時にはどちらか一方しか使えません。例えば Foo AND Bar OR Baz
は動きません。Foo AND Bar AND ...
もしくは Foo OR Bar OR ...
であれば、動きます。
例えば、Foo
とBar
の両方のカテゴリーを設定されているエントリーをすべて表示したいときには、次のように指定します。
<MTEntries category="Foo AND Bar"> ... </MTEntries>
author name
による投稿をすべて表示します。たくさんのエントリーが表示さされてしまう可能性があります。そのような場合、lastn
を使って、表示するエントリー数を制限することができます。
N
日以内のエントリーをすべて表示します。
N
個のエントリーを表示します。それぞれのエントリーは一度しか表示されません。例えば、エントリーAにコメントが付き、そしてエントリーBにコメントが、そして別のコメントがエントリーAに付いたとき、二つのエントリーとして、エントリーA、次にエントリーBの順で表示されます。
<MTEntries>
タグによって表示されるエントリーを並べ換える順序を指定します。ウェブログの設定で指定した、標準の並び換え順を上書きします。ascend
と descend
を指定できます。
ascend
と descend
は単に時間順だけでなく、sort_by
アトリビュート(下で説明します)と一緒に使われてときには、アルファベットで A から Z (ascend
) もしくは Z から A (descend
) になります。
標準では descend
になります。
field name
で指定できるのは、title
、status
、modified_on
、author_id
、または excerpt
です。
このアトリビュートのもっともわかりやすい使い道は、日付順のエントリーをアルファベット順に並べることかもしれません。例えば、辞書サイトをMovable Typeを使って表示することを想像してみましょう。エントリーを文字ごとにグループ化したいと思い、AからZまでの26のカテゴリーを作ることでしょう。辞書に含まれるすべてのエントリーを、文字ごとにまとめ、アルファベット順に並べたリストを作るためには(あらかじめ、それぞれのエントリーのタイトルには、その単語か言葉を入力しておく必要がありますが)、次のようにします。
<MTCategories> <$MTCategoryLabel$><br /> <MTEntries sort_by="title" sort_order="descend"> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br /> </MTEntries><br /> </MTCategories>
注意: lastn
、category
、author
を組み合わせて、エントリーのリストをフィルタできます。(days
は、単独で使ってください。他のアトリビュートと一緒に使うと無視されます。) 例えば、lastn
と category
を MTEntries
に使うと、特定のカテゴリーの最新エントリーが N 個表示されます。さに著者名でフィルタしたいときには、lastn
と category
に加えて author
の3つのアトリビュートを使います。
<MTEntries category="Fun" author="Me" lastn="10"> ... </MTEntries>
これは、カテゴリーが Fun
で著者が Me
のエントリーから最新のエントリーを10個表示します。
draft
か publish
のどちらかになります。このタグは使い道がありません。大抵のウェブログでは、publish
のエントリーだけを表示します。このタグは Export 機能を利用するときに、Movable Type 内部で利用されています。
...
をつけて、代わりに使います。
概要に記述するときは、改行と段落分けが自動的に行われないことに注意しましょう。次のように、アトリビュート convert_breaks
を利用する必要があります。
Excerpt with line breaks converted: <$MTEntryExcerpt convert_breaks="1"$>
自動的に改行と段落分けしてほしいときには、エントリーの設定で、テキストフォーマットに Convert line breaks
を選びます。段落--連続する二つの改行--は、<p> と </p> の囲みに変換され、残る単独の改行には <bt /> が追加されます。
エントリーごとの Text Formatting
の設定は、convert_breaks
をアトリビュートに指定することで上書きすることができます。このアトリビュートが指定されていれるときは、常にエントリーの設定は上書きされます。例えば、普段は設定を有効にしていたが、特定の場面で改行を無効にしたいときは、以下のようにします。
<$MTEntryBody convert_breaks="0"$>
エントリー本文の最初の N 語だけを表示したいときには、アトリビュートの word を使いましょう。例えば、エントリー本文の最初の 5 語だけをみせたいときには、次のようにします。
<$MTEntryBody words="5"$>
最初の N 語を取り出すために、ます HTMLタグを取り除き、それから空白で分割しています。
自動的に改行と段落分けしてほしいときには、エントリーの設定で、テキストフォーマットに Convert line breaks
を選びます。段落--連続する二つの改行--は、<p> と </p> の囲みに変換され、残る単独の改行には <bt /> が追加されます。
エントリーごとの Text Formatting
の設定は、convert_breaks
をアトリビュートに指定することで上書きすることができます。このアトリビュートが指定されていれるときは、常にエントリーの設定は上書きされます。例えば、普段は設定を有効にしていたが、特定の場面で改行を無効にしたいときは、以下のようにします。
<$MTEntryMore convert_breaks="0"$>
優先するアーカイブの種類 (Preferred Archive Type)
によって決まります。これはデフォルトの場合で、特定のアーカイブのリンクを必要とするときには、アトリビュート archive_type
を指定して上書きすることができます。
例えば、Preferred Archive Type
として Individual
を設定していたとき、次のタグ
<$MTEntryLink$>
は個別エントリー (Individual Entry) のアーカイブ・ページへのリンクになります。ファイル名は標準では、6桁の数字で表わされるエントリーIDに、ウェブログの設定にあるアーカイブファイルの拡張子(Archive File Extension)
を付けたもの (例えば、html
) になります。もし、カテゴリー (by Category)
のアーカイブを有効にして、特定のエントリーへのリンクを、そのカテゴリー・アーカイブにしたいときには、次のようにします。
<$MTEntryLink archive_type="Category"$>
このタグは、このエントリーのカテゴリー・アーカイブ・ページへのリンクになります。
本当のパーマリンク(変化しないリンク)--もし、他のエントリーと一緒に一つのページにそのエントリーが入っていたとしても、その特定のエントリーへのリンクを指し示めすリンク--を利用したいのであれれば、<$MTEntryPermalink$>
タグを使ってください。
#
) が付いてきます。これは、<$MTEntryLink$>
と同じですが、個別エントリーへのリンクでは重複してしまうのですが、個別のアーカイブ以外ではアンカーを含む分、正確にエントリーを指し示します。
<$MTEntryLink$>
タグと同様に、追加のアトリビュートとしてarchive_type
を設定し、特定のアーカイブの種類へのリンクにすることができます。
アトリビュート spam_protect
を設定すると、スパムボット(スパム用にアドレスを収集しているプログラム)対策にアドレスを変換します。変換後も、ウェブブラウザには、メールアドレスとして表示されます。例えば、メールアドレスが foo@bar.com
であれば、次のように設定します。
<$MTEntryAuthorEmail spam_protect="1"$>
するとfoo@bar.com
と出力されます。
<$MTEntryAuthorLink show_email="0"$>
とすれば、メールアドレスは表示されることはありません。すなわち、URL が入力されていれば、その URL へのリンク、URL が入力されていなければ、リンクなしに表示され、メールアドレスは表示されません。
アトリビュート spam_protect
を設定すると、スパムボット(スパム用にアドレスを収集しているプログラム)対策にアドレスを変換します。変換後も、ウェブブラウザには、メールアドレスとして表示されます。例えば、メールアドレスが foo@bar.com
であれば、次のように設定します。
<$MTEntryAuthorLink spam_protect="1"$>
するとfoo@bar.com
と出力されます。
format
と language
をアトリビュートとして設定できます。詳しくは 日付タグのフォーマット を見てください。
<MTEntryIfExtended> <a href="<$MTEntryLink$>#<$MTEntryID$>">More...</a> </MTEntryIfExtended>
Open
もしくは Closed
の場合に表示されます。コメントが許可されているときだけ、コメントへのリンクを表示するときに使います。
Movable Type のマニュアルの Comments コメントの部分に、このタグが使われていますので、参考にしてください。
Open
のときに内容が表示されるコンテナ・タグ。「コメントを投稿する」ためのHTMLフォームを表示するときなどに使います。
マニュアルのトラックバックの章で、このタグの使った例があります。
0
はありません。いいかえると、エントリーIDが8
であれば、このタグの値は8
になります。必要なら、アトリビュートの pad を使ってこのタグを次のように書いてください。
<$MTEntryID pad="1"$>
エントリーは6桁の数字として表示され、足らないときは、000008
のように 0
が左詰めで追加されます。
<$MTCategory*$>
タグを使えます。(それぞれのタグについては、カテゴリー・タグ を参照してください。)
アトリビュート glue を使うと、カテゴリーの区切り文字を設定できます。コンマ区切りしたいときに便利です。glue には「'(シングル・クオーテーション)」や「"(ダブル・クオーテーション)」は使えません。
サンプル
このエントリーは、次のカテゴリーに投稿されました: <MTEntryCategories glue=", "> <a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a> </MTEntryCategories>
convert_breaks
と allow_comments
の二つです。値が正の(設定されている)ときには、タグの値は 1
に、さもなくば 0
として表示されます。フラグの名前は、アトリビュート flag
に設定します。次に例を挙げます。
<$MTEntryFlag flag="allow_comments"$>
このタグは、データをエキスポートするときにシステムで利用します。普段、テンプレートの中で使うことはないでしょう。
MTEntryPrevious
の中では、例えば、<$MTEntryTitle$> タグは、前のエントリーのタイトルを表示します。</MTEntryPrevious> でコンテナ・タグを閉じたら、現在のエントリーについての表示に戻ります。
例は後述の MTEntryNext
を参照してください。
MTEntryNext
の中では、例えば、<$MTEntryTitle$> タグは、次のエントリーのタイトルを表示します。</MTEntryNext>でコンテナ・タグを閉じたら、現在のエントリーについての表示に戻ります。
以下は、前のエントリーと次のエントリーへのリンクによるナビゲーションの例です。
<MTEntryPrevious> <a href="<$MTEntryLink$>"><< <$MTEntryTitle$></a> | </MTEntryPrevious> <a href="<$MTBlogURL$>">Main</a> <MTEntryNext> | <a href="<$MTEntryLink$>"><$MTEntryTitle$> >></a> </MTEntryNext>
MTEntries
コンテナ・タグの中でのみ有効です。次のように使います。
<MTEntries> <MTDateHeader> <$MTEntryDate format="%B %e, %Y"$> </MTDateHeader> タイトル: <$MTEntryTitle$> </MTEntries>
MTDateHeader
タグと一緒に使って、div
などで、その日の複数のエントリーを構造化するときに使います。MTDateHeader
と同様に、このタグも MTEntries
の内側でのみ有効です。例は以下のとおりです。
<MTEntries> <MTDateHeader> <div class="day"> <$MTEntryDate format="%B %e, %Y"$> </MTDateHeader> Title: <$MTEntryTitle$> <MTDateFooter> </div> </MTDateFooter> </MTEntries>
<MTEntries>
コンテナの内側で最初のエントリーのときだけ内容を表示するコンテナ・タグです。
<MTEntries>
コンテナの内側で最後のエントリーのときだけ内容を表示するコンテナ・タグです。
トップページから、アーカイブ・ページへのリンクを予告と一緒に作るときに使うことができます。次の例は Daily Archive を使っていっています。
<MTEntries days="1"> ... <MTEntriesFooter> <MTEntryPrevious> <a href="<$MTEntryLink archive_type="Daily"$>">Previously: <$MTEntryDate format="%A, %B %d, %Y"$></a> </MTEntryPrevious> </MTEntriesFooter> </MTEntries>
lastn
アトリビュートの存在に依存します。
このタグをlastn="N"
アトリビュートと一緒に利用すると、N
に表示したいコメントの数を設定すれば、そのエントリー(もしくは、そのウェブログ)の最新の N
個のコメントを表示します。
アトリビュートを指定しないときは、<MTComments>
はその特定のエントリーのコメントをすべてリストにします。その場合、エントリーの中で、すなわち、<MTEntries>
の内側、もしくは Individual entry archive template
、Comment Preview template
、Comment Listing template
、Comment Error template
の中で使わないといけません。
デフォルトでは、コメントはウェブログの設定にある コメントの表示順 の設定のとおりに並べ換えられます。これは sort_order
アトリビュートを設定して変更することができます。値としては、ascend(昇順)もしくは、desend(降順)を設定します。
特定のウェブログ全体への最新の6個のコメントを、新しいものから並べて表示するには、以下の例を Index テンプレートに記述します。
<MTComments lastn="6" sort_order="descend"> <p><$MTCommentAuthor$> said:<br /> <$MTCommentBody$></p> </MTComments>
それぞれのコメントについて、コンテナの内側でテキストとタグが表示されます。以下で説明するタグは、コメントについての様々な値を表示します。
0
は付きません。いいかえると、コメントIDが 8
のとき、このタグの値は単なる 8
になります。左詰めの 0
を付けたいときには、padアトリビュートを設定します。
<$MTCommentID pad="1"$>
すると、000008
のように 0
が左詰めされた 6 桁のコメントIDが表示されます。
<MTComments lastn="N">
タグと一緒に、エントリーへのリンクを作るために使います。
このタグも、<$MTCommentID$>
と同様に pad
アトリビュートを使うことができます。
<MTCommentAuthor default="Anonymous">
著者名がない場合は、defaultに指定した名前が使われます。
show_email と show_url アトリビュートを設定して、このルールを変更することができます。例えば
<$MTCommentAuthorLink show_email="0"$>
とすると、メールアドレスは表示されせん。このときのルールは、URL 入力さていれば、名前がその URL へのリンクとして、入力されていないときには、リンクなしで名前が表示されます。
このようにすると、サイトの読者にメールアドレスを残すようにお願いしやすくなります。特に、ウェブログの設定で、特定のコメントを許可するにチェックしていないが、このメールアドレスを表示する気はないときに使います。
spam_protect
アトリビュートを設定すれば、メールアドレスへのリンクは表示されますが、スパム・ボット対策されたアドレスに変更されます。ウェブ・ブラウザでは、正しいメールアドレスとして表示されます。例えば、以下の例
<$MTCommentAuthorLink spam_protect="1"$>
では、メールアドレスが foo@bar.com
のとき、タグの値は foo@bar.com となります。
.
デフォルトでMTCommentAuthorLinkはリダイレクト機能を使い、コメント投稿者のURLを検索エンジンから見えないようにします。 この機能により、検索エンジンでのランクを上げるためのコメント・スパムを抑制できる可能性があります。 このリダイレクト機能を使わない場合は、属性no_redirect
を指定できます。
またこのタグは、<MTCommentAuthor>
で使うdefault引数のように機能するdefault_nameという引数を取ります。
<MTCommentAuthorLink default_name="Anonymous">
著者名がない場合は、default_nameが名前として使われます。
spam_protect
アトリビュートを設定すれば、メールアドレスへのリンクは表示されますが、スパム・ボット対策されたアドレスに変更されます。ウェブ・ブラウザでは、正しいメールアドレスとして表示されます。例えば、以下の例
<$MTCommentEmail spam_protect="1"$>
では、メールアドレスが foo@bar.com
のとき、タグの値は foo@bar.com となります。
.
改行と段落を自動的に変換する(Convert line and paragraph breaks)
を有効にしていれば、段落--連続する二つの改行--は、<p> と </p> の囲みに変換され、残る単独の改行には <bt /> が追加されます。
ウェブゴグの設定 改行と段落を自動的に変換する(Convert line and paragraph breaks)
は convert_breaks
をアトリビュートに指定することで上書きすることができます。このアトリビュートが指定されていれるときは、常にエントリーの設定は上書きされます。例えば、普段は設定を有効にしていたが、特定の場面で改行を無効にしたいときは、以下のようにします。
<$MTCommentBody convert_breaks="0"$>
format
と language
アトリビュートを設定できます。詳しくは 日付タグのフォーマット を見てください。
1
から始まります。数字の並び方は、並び順 (昇順か降順) によります。
<$MTEntry*$>
タグを利用することができます。次のようなことができます。
<MTComments lastn="5" sort_order="descend"> <MTCommentEntry> エントリー <$MTEntryTitle$> についてのコメント。 </MTCommentEntry> </MTComments>
コメントを投稿する前に確認するとき使われる Comment Preview Template
を作成するときに、以下のタグを使うことができます。これのタグは、コメント
で説明した似た名前のタグと同じ機能を持っています。以下のタグは、確認のときにしか使えない、ということだけが違います。
コメント
の似た名前のタグと同じ機能です。
Comment Preview
and Comment Error
テンプレートで使います。システムは、コメントを投稿後、どのページを表示したらよいか知るために、このタグを利用します。このタグを使うときは Comment Preview
と Comment Error
テンプレートの中の HTML フォーム の INPUT HIDDEN の中に埋め込みます。
<input type="hidden" name="static" value="<$MTCommentPreviewIsStatic$>">
<$MTCommentPreviewState$>
タグは使わないでください。
コメントの確認のためのページ (Comment Preview Template
) を使うための特別なタグ。コメントをインラインもしくはポップアップで入力するとき、どちらでも同様に、コメントを投稿するために必要なデータの代わりに用います。
以下のテンプレート・タグと変数は、アーカイブ・ページとマスター・アーカイブ・インデックスに利用します。
MTEntries
用のタグをそれぞれのエントリーを表示するために使うことができます。例えば、
<MTArchiveList> <a href="<$MTArchiveLink$>"><$MTArchiveDate$></a><br> <MTEntries> [<$MTEntryTitle$>] </MTEntries> <br><br> </MTArchiveList>
とすると、アーカイブ・ページへのリンクを表示し、それぞれのページに含まれるエントリーのリストを表示します。
このタグには二つのアトリビュートを設定できます。archive_type
はどのアーカイブを表示するかを設定します。lastn
は、リストする数を設定します。
archive_type
は設定しなくても構いません。もし省略されたときには、優先するアーカイブのタイプ、もしくはそのときのアーカイブのタイプを使います。このアトリビュートはウェブログのアーカイブ・タイプに、一つ以上の値を設定したときに便利です。例えば、Individual
と Daily
アーカイブを両方設定し、優先するアーカイブの種類には Individual
が設定してあるときに、次のようにして、Daily
アーカイブを使うことができます。
<MTArchiveList archive_type="Daily"> ... </MTArchiveList>
lastn
は、リストに表示する数を絞るときに使います。例えば、ウェブログに10ヶ月間のアーカイブがあるときに、5ヶ月間だけ表示したい場合、次のようにします。
<MTArchiveList archive_type="Monthly" lastn="5"> ... </MTArchiveList>
デフォルトでは、そのとき作成中のアーカイブの種類のページへのリンクになります。例えば、Monthly
アーカイブを作成中だと、<$MTArchiveLink>
はその Monthly
アーカイブへのリンクになります。archive_type
アトリビュートて変更できます。設定できる値は、Individual
、Daily
、Weekly
、Monthly
、Category
のうちの一つです。
月 日, 年
になります。
月 日, 年 - 月 日, 年
になります。
月 年
になります。
MTArchiveTitle
と MTArchiveLink
を組み合わせると、簡単にマスター・アーカイブ・インデックスページを作ることができます。MTArchiveTitle
はアーカイブの種類に合わせて、値を変化させるからです。例えば、次のように使います。
<MTArchiveList> <a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a><br> </MTArchiveList>
この例では、どのアーカイブの種類のときにでも、アーカイブのページにいつも一覧を表示することができます。
<MTArchiveList>
コンテナ・タグの中で以下のように使います。
<MTArchiveList> <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> (<$MTArchiveCount$>)</a><br> </MTArchiveList>
Daily
、Weekly
、もしくは Monthly
アーカイブで使います。これは、標準の日付タグですから、Date Tag Formats でフォーマットを設定できます。
このタグはMTArchiveList
の内側と、date-based
アーカイブの中の MTEntries
の 外側 で使うことができます。アーカイブのページに、日付をヘッダとして表示したいときに使います。例では「月 年」を表示します。
<$MTBlogName$> アーカイブ: <$MTArchiveDate format="%B %Y"$> <MTEntries> ... </MTEntries>
Daily
、Weekly
、もしくは Monthly
アーカイブで使います。これは、標準の日付タグですから、Date Tag Formats でフォーマットを設定できます。
<$MTArchiveDate>
と同様の使い方ができます。
Category
アーカイブのときに使います。
このタグはMTArchiveList
の内側と、Category
アーカイブの中の MTEntries
の 外側 で使うことができます。アーカイブのページに、カテゴリーの名前をヘッダとして表示したいときに使います。例えば次のように使います。
<$MTBlogName$> アーカイブ: <$MTArchiveCategory$> <MTEntries> ... </MTEntries>
MTArchivePrevious
の中では、例えば、<$MTArchiveTitle$> タグは、前のアーカイブのタイトルを表示します。</MTArchivePrevious> でコンテナ・タグを閉じたら、現在のアーカイブについての表示に戻ります。
このタグは Daily
、Weekly
、もしくは Monthly
アーカイブで使います。individual entry archives で同様のことをしたいときには、<MTEntryPrevious>
タグを使います。
デフォルトでは「前のアーカイブ」はアーカイブの種類によります。Daily
アーカイブでは「前のアーカイブ」は前日(なければ、そのエントリー以前の直近)のエントリーになります。例えば、先月のアーカイブに変更したいときには、archive_type
アトリビュートを使って変更してください。
例は後述の <MTArchiveNext>
を参照してください。
MTArchiveNext
の中では、例えば、<$MTArchiveTitle$> タグは、前のアーカイブのタイトルを表示します。</MTArchiveNext> でコンテナ・タグを閉じたら、現在のアーカイブについての表示に戻ります。
このタグは Daily
、Weekly
、もしくは Monthly
アーカイブで使います。individual entry archives で同様のことをしたいときには、<MTEntryNext>
タグを使います。
デフォルトでは「次のアーカイブ」はアーカイブの種類によります。Daily
アーカイブでは「次のアーカイブ」は翌日(なければ、そのエントリー以降の直近)のエントリーになります。例えば、翌月のアーカイブに変更したいときには、archive_type
アトリビュートを使って変更してください。
以下は、前と次のカテゴリーへのリンクと、メイン・インデックス・ページへ戻るリンクよるナビゲーションの例です。
<MTArchivePrevious> <a href="<$MTArchiveLink$>"><< <$MTArchiveTitle$></a> | </MTArchivePrevious> <a href="<$MTBlogURL$>">Main</a> <MTArchiveNext> | <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> >></a> </MTArchiveNext>
以下は、Daily
アーカイブから、先月、翌月のアーカイブへのリンクを表示します。Daily
でカレンダーを表示したときに、カレンダーに先月、翌月へのリンクを表示するために使えます。
<MTArchivePrevious archive_type="Monthly"> <a href="<$MTArchiveLink archive_type="Monthly"$>"><$MTArchiveDate format="%b"$></a> </MTArchivePrevious> <MTArchiveNext archive_type="Monthly"> <a href="<$MTArchiveLink archive_type="Monthly"$>"><$MTArchiveDate format="%b"$></a> </MTArchiveNext>
以下のタグは、カテゴリーのリストと、それぞれのカテゴリーに関連する情報(ID, ラベル、その他)を表示するために使います。
カテゴリーの階層構造はテンプレートにも反映できます。 通常、テンプレート・デザイナーは、カテゴリーの表示において、1つのカテゴリのデザインを表すテンプレートのタグを1つのブロックにして作成します。そしてその1ブロックを、MTEntriesやMTCommentsなどのタグのように繰り返します。 各カテゴリーの子カテゴリーを表示するには、<MTSubCatsRecurse>タグを、子カテゴリーのリストが表示される位置に挿入し、そのブロックに指定されたものと同じフォーマットを使うようにします。
<MTSubCategories>...</MTSubCategories>のタグに挟まれたテンプレート・コードのブロックに、<MTSubCatsRecurse>が含まれている場合、そのブロックは現在のカテゴリーの子カテゴリーの一つ一つに繰り返されます(例えば、前述にあるように「エンターテインメント」が現在のカテゴリーである場合、<MTSubCatsRecurse>がテンプレート・タグのブロックを通して、「本」と「音楽」を実行します)。
望む結果を得るためには、通常、条件ブロック・タグの<MTSubCatIsFirst>と<MTSubCatIsLast>を使って、「現在」のカテゴリーが、兄弟カテゴリーの中で、最初にリストされるか最後にリストされるかを決める必要があります。 この作業は通常、階層リストを作成する上で、正しいHTMLタグを生成するのに必要です。
たとえば、以下では、番号付きでないネストされたリストが生成されカテゴリーの階層を表示します。
<MTSubCategories> <MTSubCatIsFirst><ul></MTSubCatIsFirst> <li> <MTCategoryLabel> <MTSubCatsRecurse> </li> <MTSubCatIsLast></ul></MTSubCatIsLast> </MTSubCategories>
各タグについての詳細は、下記を参照してください。
各カテゴリーには、下記のいずれのタグ変数も使うことができます。さらに、1つのカテゴリー下における各エントリーの情報を表示するときには、<MTEntries>
を使うこともできます。 以下に例を挙げます。
<MTCategories> <a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a><br> <MTEntries> <$MTEntryTitle$> </MTEntries> <br /><br /> </MTCategories>
この例では、それぞれのカテゴリーへのリンクと、そのカテゴリーに属するエントリーのリストを表示します。
カテゴリーに一つもエントリーがないときは、デフォルトでは表示されません。<MTArchiveList>
と同様です。エントリーのないカテゴリーのアーカイブページは作られないので、もしリンクを作っても、正しくないリンクになってしまいます。
この設定はshow_empty
アトリビュートを設定することで、変更できます。例えば、
<MTCategories show_empty="1"> <$MTCategoryLabel$> </MTCategories>
とすると、たとえ空のカテゴリーがあっても、すべてのカテゴリーを表示します。
カテゴリーにサブカテゴリーが属している場合、このタグは階層を「階層のない平らな状態」にして、並べ替えの基準による順序で一覧表示します。 サブカテゴリーを階層構造で表示するには、下記のMTSubCategoriesを使います。
カテゴリー
アーカイブを作る設定にしないと使うことはできません。設定されていないときは、ベージをリビルドするときにエラー・メッセージが表示されるでしょう。
<MTCategories>
の内側、もしくは category アトリビュートを指定して使います。
<$MTCategoryTrackbackLink category="Foo Bar"$>
アトリビュートを設定したときは、このタグはどこでも使うことができます。
アトリビュート:
アトリビュート:
アトリビュート:
アトリビュート:
そのほかの引数はすべて直接MTEntriesに渡されます。
<MTParentCategories glue="/"><MTCategoryLabel dirify="1"></MTParentCategories>
<ul<MTHasNoParentCategory> id="nav"</MTHasNoParentCategory>>
アトリビュート:
アトリビュート:
以下のタグは、エントリーをカレンダー表示にして出力するために使います。Movable Typeのカレンダー出力は HTML のテーブルに限らず、他のさまざまなカレンダーを作るために十分な機能があります。
<MTCalendar>
と </MTCalendar>
タグの間に、カレンダーの「セル」(日付、もしくは月によっては空白) を表示できます。
このタグには、特定の年、月の正確なカレンダーを表示するためのアトリビュート month
を設定できます。このアトリビュートに this
と設定されたときには、そのデータに合わせたカレンダーが表示されます。例えば、アーカイブ・テンプレートで次のように使ったときは
<MTCalendar month="this"> ... </MTCalendar>
そのアーカイブに表示されている月のカレンダーが表示されます。Individual
、Daily
、Weekly
、Monthly
のときに使えます。
month
アトリビュートに last
と設定したときには、現在の日付からみて前月のカレンダーを表示します。
特定の月のカレンダーを表示したいときには、アトリビュート month
に、YYYYMM
のフォーマット (例えば 200112
)で、年月を設定してください。
アトリビュート month
が設定されていないときは、今月のカレンダーを表示します。
特定のカテゴリーのエントリーについてのカレンダーを表示したいときには、アトリビュート category
にカテゴリーの名前を設定します。以下のようにします。
<MTCalendar month="200201" category="Foo"> ... </MTCalendar>
この例では、2002年1月のカテゴリー Foo
に投稿されたエントリーがすべて表示されます。
1
)。<MTCalendarIfEntries>
、<MTCalendarIfNoEntries>
コンテナ・タグで使います。
1
から始まり、水平に右に移動するごとに増加します。
このタグは、上の <$MTCalendarDay$>
タグとは異なります。このタグは「空白でないセル」(例えば特定の月のある日のエントリー) の中でのみ使われます。
format
を設定できます。数字で日を表示したいだけのときには、<$MTCalendarDay$>
を使ってください。このタグは日付、時刻の情報まで表示したいときに使います。
<MTCalendarWeekHeader>
と </MTCalendarWeekHeader>
で囲まれた内容が、それぞれの週の始めにだけ表示されます。
<MTCalendarWeekFooter>
と </MTCalendarWeekFooter>
で囲まれた内容が、それぞれの週の終わりにだけ表示されます。
week.
<MTCalendarIfBlank>
と </MTCalendarIfBlank>
に囲まれた内容は、そのセルが「空白」、すなわち、その月でない日のときに表示されます。
<MTCalendarIfEntries>
で囲まれた内容は、そのセルの日にエントリーがあれば表示されます。その日のエントリーをすべて表示したいときには、<MTEntries>
タグを使うことができます。
例えば、次のようにします。
<MTCalendarIfEntries> この日のエントリー: <MTEntries> <a href="<$MTEntryLink$>"><$MTEntryTitle$></a><br /> </MTEntries> </MTCalendarIfEntries>
<MTCalendarIfNoEntries>
と </MTCalendarIfNoEntries>
で囲まれた内容は、そのセルの日にエントリーがないときに表示されます。
<MTCalendarIfToday>
と </MTCalendarIfToday>
に囲まれた内容は、そのセルが今日の日付であったときに表示されます。
次の例は、標準的なカレンダーを表示します。今月分を表示します。
<table border="0" cellspacing="4" cellpadding="0" summary="Monthly calendar"> <caption><$MTDate format="%B %Y"$></caption> <tr> <th abbr="Sunday" align="center">Sun</th> <th abbr="Monday" align="center">Mon</th> <th abbr="Tuesday" align="center">Tue</th> <th abbr="Wednesday" align="center">Wed</th> <th abbr="Thursday" align="center">Thu</th> <th abbr="Friday" align="center">Fri</th> <th abbr="Saturday" align="center">Sat</th> </tr> <MTCalendar> <MTCalendarWeekHeader><tr></MTCalendarWeekHeader> <td <MTCalendarIfToday>bgcolor="#EEEEEE"</MTCalendarIfToday> align="center"> <MTCalendarIfEntries><MTEntries lastn="1"><a href="<$MTEntryLink$>"><$MTCalendarDay$></a></MTEntries></MTCalendarIfEntries> <MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries> <MTCalendarIfBlank> </MTCalendarIfBlank></td> <MTCalendarWeekFooter></tr></MTCalendarWeekFooter> </MTCalendar> </table>
注意:カレンダーの表示は、サーバに比較的大きな負荷が加わります。複数のページに同じカレンダーを表示したいときには、そのカレンダーを Index テンレートとして作り、SSI (サーバ・サイド・インクルード) もしくは PHP や他の手段で、それぞれのページに読みこませるようにするといいでしょう。
以下は、トラックバック に関連するタグです。
例えば、TrackBack Listing Template など、エントリーの内容に対して使われたとき、このタグはその特定のエントリーに送らせたトラックバックのリストを表示します。
カテゴリー・アーカイブに関連するテンプレートで使われたときには、そのカテゴリーへのすべてのトラックバックのリストを表示します。
その他の場合、システム全体で受けたすべてのトラックバックのリストを表示します(後述するように lastn を使うこともできます)。
特定のカテゴリーへのトラックバックを表示したいときには、categoryアトリビュートを使います。
<MTPings category="Foo"> ... </MTPings>
アトリビュート sort_order and lastn を使うことができます。これらは、他の Movable Type タグのときと同様に使えます。sort_order に設定できるのは、ascend
もしくは descend
です。lastn には、1以上の整数 N を設定してください。最新の N 個のトラックバックを表示します。
例は、カテゴリー Foo Bar
に送られた 15 個の最新のトラックバックをウェブログのトップページに表示するためのものです。以下を Main Index Template に追加してください。
<MTPings category="Foo Bar" lastn="15"> <a href="<$MTPingURL$>"><$MTPingTitle$></a><br /> </MTPings>
format
、language
アトリビュートを設定することができます。詳しくは 日付タグのフォーマット を参照してください。
以下に例を挙げます。
<MTPingsSent> URL: <$MTPingsSentURL$><br /> </MTPingsSent>
<MTPingsSent>
タグで使います。
以下のタグは、サーチ・テンプレートでのみ利用可能です。
<$MTEntry*$>
を使うことができます。また、<$MTBlog*$>
を使って、検索されたエントリーが投稿されているウェブログについてのデータを表示することもできます。
以下は例です。
<MTSearchResults> <MTBlogResultHeader> <h2>Results from <$MTBlogName$></h2> </MTBlogResultHeader> <h3><a href="<$MTEntryLink$>#<$MTEntryID pad="1"$>"><$MTEntryTitle$></a></h3> <$MTEntryExcerpt$> <$MTEntryEditLink$><br /> <div class="posted">Posted in <$MTBlogName$> on <$MTEntryDate$></div> </div> </MTSearchResults>
次のように使います
<MTNoSearchResults> <h2>Searched for "<$MTSearchString$>"</h2> <p>No pages were found containing "<$MTSearchString$>".</p> </MTNoSearchResults>
http://YOURDOMAIN.COM/PATH-TO/mt-search.cgi
あるいは新しいコメントを検索する場合には、以下のようなURLを使います。
http://YOURDOMAIN.COM/PATH-TO/mt-search.cgi?Type=newcomments&help=1
そのとき、このタグを、検索方法の説明やより高度な検索フォームの表示に利用すると便利です。
以下が一例です。
<MTNoSearch> <h2>Instructions</h2> <p>... Some search instructions ...</p> </MTNoSearch>
このタグは、グループの中の最初の結果を表示するときに、その内容を表示するコンテナタグです。ウェブログのタイトルや、そのウェブログのトップページへのリンクを表示するのに便利です。
上記のどの分類にも、まったく当てはまらないタグがいくつかあります。
<MTElse>
を利用します。普通は名前に If
が含まれているタグ(例えば、<MTEntryIfExtended>
)と一緒に使います。<MTElse>
は、条件に合致しなかったときに内容が表示されるコンテナ・タグです。<MTElse>
は、条件タグの内側で条件タグが「そうでない場合」のために使います。
次のように使います
<MTEntryIfExtended> このエントリーには追記(extended)があります。 <MTElse> このエントリーには追記(extended)がありません。 </MTElse> </MTEntryIfExtended>
MTInclude
タグを使います。<MTInclude>
には次のアトリビュートを利用できます。
Header
に設定した後で、<MTInclude>
を使って、次のように読みこみます。
<$MTInclude module="Header"$>
Local Site Path
からの相対パスのいずれかです。例えば、foo.html がウェブログの Local Site Path ディレクトリにあるとき、次のようにして読み込みます。
<$MTInclude file="foo.html"$>
このファイルはページがリビルトされるそのときに読み込まれます。SSI (Server Side Includes)と混同しないように注意してください。SSIはウェブサーバにリクエストが来るたびに、毎回外部ファイルを読み込みます。<MTInclude>
を使う場合は、まず外部ファイルを編集した後、編集されたページを読み込むためにリビルドしてください。
<MTLink>
には以下のアトリビュートを設定します。
更新時刻:
を表示したいときに、次のように使います。
このページの更新時刻: <$MTDate format="%B %d, %Y %I:%M %p"$>
1
です。後者はユーザが設定した自分のウェブサイトのURLを意味します。例を参考にしてください。
10
となります。
例として、Movable ype
をクエリに設定して最初の5個の結果を表示します。
<MTGoogleSearch query="movable type" results="5"> <a href="<$MTGoogleSearchResult property="URL"$>"><$MTGoogleSearchResult property="title"$></a><br /> </MTGoogleSearch>
ユーザのウェブ・サイトに似たページのリストです。
<MTGoogleSearch related="1"> <a href="<$MTGoogleSearchResult property="URL"$>"><$MTGoogleSearchResult property="title"$></a><br /> </MTGoogleSearch>
アトリビュート query、related、title、excerptは同時に設定することはできません。
Individual Archive TemplateでGoogle検索タグを使うのであれば、エントリーを保存するときに検索結果も保存されることに注意してください。リビルドの時間が余計にかかるようになり、もしコメントを多数受けとるサイトであれば、一日あたりのGoogle APIの利用制限を超えてしまうかもしれません。
注意: このタグは、「Google API key」を事前に入試して、ウェブログの設定画面に入力していないと使えません。また、SOAP::Lite と LWP::UserAgent がインストールされている必要があります。インストールされているかどうかは、mt-check.cgi を使えばわかります
訳注:UTF-8でなければ、日本語を利用することはできません。
<MTGoogleSearch>
を参照)
アトリビュート property に検索結果の特定の項目(タイトル、URL、概要)を設定できます。省略されたときは、title
になります。
設定できる値はsummary
、URL
、snippet
、 title
です。
name
アトリビュートに、値は value
アトリビュートに設定します。設定した値は、次に説明する <MTGetVar>
タグで参照することができます。
name
アトリビュートに指定します。
例として、テンプレート・モジュールで、変数 foo
に値を設定します。
<MTSetVar name="foo" value="bar">
そして、そのテンプレート・モジュールを読み込み、その変数の値を利用します。
<MTGetVar name="foo">
CGIPath
に設定された値です。(インストールのときに設定します。インストールの手引を参照してください) MTCGIPath
は mt-comments.cgi や mt-add-notify.cgi といった Movable Type の CGIスクリプトをリンクするために使われます。単純に、いちいちCGIのパスをテンプレートに書き込まずに、このタグを使ってください。例えば、コメントの投稿用フォームを作るときに、次のように使います。
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>">
Uploaded Image Popup Template
の中で使われています。
Uploaded Image Popup Template
の中で使われています。
Uploaded Image Popup Template
の中で使われています。
Comment Error Template
の中でのみ使われます。コメントの登録のときに起きたエラー、例えば、メールアドレスが入力されていないなどのエラーメッセージを表示します。。
3.01
となります。
iso-8859-1
が設定されていると見なされます。
グローバル・タグ・アトリビュートはどの変数置換タグ(値に置き換えられるタグ、他のタグに指示を与えるために「囲む」コンテナ・タグとは異なります)に対しても使えます。しかし、どのタグで使っても、それがいい考えであるわけではありません。特定のタグでしか使えないアトリビュートを使うときの考え方と同様です。グローバル・アトリビュートは、それぞれのタグ専用のアトリビュートと同じように name="value"
と、例えば次のように使います。
<$MTEntryExcerpt encode_html="1"$>
HTMLエントコードされた概要を表示します。
以下はグローバル・タグ・アトリビュートの一覧です。
,
)で区切ります。複数のフィルタを設定すると、リストの順番に適用します。例えば、CPANモジュール Text::WikiFormat を適用するための短い名前wiki を設定するためには、次のようになります。
<$MTEntryTitle filters="wiki"$>
''これはタイトルです''
をタイトルに設定するためには
<em>これはタイトルです</em>
とします
1
に設定すると、HTMLエンコードされます。例えば、Foo & Bar -> Baz
は、HTMLエンコードすると Foo & Bar -> Baz
に変わります。
使い方:
<$MTEntryExcerpt encode_html="1"$>
1
に設定すると、XMLフォーマットでエンコードされていなければならない、すべての文字がエンコードされます。対象となるのは、&
、<
、and >
です。
例えば、Foo & Bar -> Baz
は、XMLエンコードすると Foo & Bar -> Baz
に変わります。
使い方 (RSS のテンプレートで使います);
<item> <title><$MTEntryTitle encode_xml="1"$></title>
注意: encode_htmlとの違いは、HTML::Entities モジュールがインストールされていて、mt.cfgのオプション NoHTMLEntities を有効にしていないときには、HTML のほうが多くの文字が変換の対象になることです。
1
に設定すると、タグの値が Javascript の文字列の値として使えるようにエンコードします。例えば、Foo "Bar" Baz's 1/2 Quux
はエンコードすると Foo \"Bar\" Baz\'s 1\/2 Quux
に変わります。
使い方:
<script language="javascript"> var str = '<$MTEntryTitle encode_js="1"$>'; </script>
q
(シングル・クオート), qq
(ダブル・クオート) もしくは heredoc
(ヒア・ドキュメント、here
でも、ヒア・ドチュメントとして動きます) を設定できます。
例 q
の使い方:
<?php $str = '<$MTEntryTitle encode_php="q"$>' ?>
例 heredoc
の使い方:
<?php $str = <<<HERE <$MTEntryBody encode_php="heredoc"$> HERE; ?>
foo bar
は foo%20bar
に変換されます。
使い方:
<a href="/search?q=<$MTEntryTitle encode_url="1"$>">Search</a>
(この例のもとを作ってくれたスコット・アンドリュー・レペラに感謝します)
1
を設定すると、タグの値に含まれるすべてのHTMLエンティティをデコードします。例えば foo<br>
は、デコードされて foo<br>
に変換されます。
使い方:
<$MTEntryTitle decode_html="1"$>
1
を設定すると、タグの値に含まれるすべてのXMLエンティティをデコードします。例えば、foo<br>
は、デコードされると foo<br>
になります。
使い方:
<$MTEntryTitle decode_xml="1"$>
1
を設定すると、タグの値に含まれるすべての HTML タグを除去します。例えば Foo<br> Bar
は、Foo Bar
に変換されます。
使い方:
<$MTEntryTitle remove_html="1"$>
1
を設定すると、タグを「dirify」します。すなわち、タグの値を、ファイル名や検索用に合わせたものに変換します。値は、小文字(abc...)に変換され、HTMLのタグやエンティティは除去され、普通でない文字 (アルファベット、数字、アンダースコア (_
)、空白以外の文字) は除去され、空白はアンダースコア (_
) に変換されます。
dirifyは high-ASCII (アクセント文字など) も low-ASCII、すなわち crudité
は crudite
に変換されます。
例えば、Foo "Baz" is<br> Bar!
は foo_baz_is_bar
になります。
(訳注: 日本語版では dirify
で、high-ASCII の変換は行いません。
使い方:
<$MTArchiveCategory dirify="1"$>
(訳注: 日本語は dirify
によってすべて除去されてしまいます)
使い方:
<$MTEntryTitle upper_case="1"$>
使い方:
<$MTArchiveDate format="%B" lower_case="1"$>
使い方:
<$MTEntryTitle trim_to="15"$>
この例では、エントリータイトルの最初の15文字だけを表示します。
使用例:
<$MTCommentURL strip_linefeeds="1"$>
使い方:
<$MTCalendarDay space_pad="3"$>
この例では、3
という元の値が`` 3
''に変換されます。
0
で埋めます。Nはアトリビュートの値として設定します。
使い方:
<$MTCalendarDay zero_pad="5"$>
この例では、8
という元の値を 00008
に変換します。
<$MTCalendarDay sprintf="%05s"$>
1
を設定すると、デフォルトの設定、すなわちウェブログの設定か mt.cfg での設定に従って、タグを除去します。0
を設定すると、除去機能は無効になります。その他の値を設定すると、除去機能は有効だと見なします。
使い方:
<$MTEntryBody sanitize="a href"$>
この例では、<a>
(href
アトリビュートと一緒に使われます) 以外のすべての HTML タグをエントリーの本文から除去します。
Movable Type は標準的な strftime
の形式の文字列を日付と時刻を表示するために使います。(実際には strftime
それ自体を使っているわけではありません。) どの日付タグでも、format
アトリビュートを使って、表示文字列のフォーマットを設定することができます。次のようにします。
<$MTDate format="%B %e, %Y %I:%M %p"$>
この例は、実際に使われている英語のデフォルト・フォーマットで、次のように表示されます。
September 20, 2001 11:44 PM
曜日、月、AM/PM は言語によって設定が変ります。ウェブログの設定で、日付の表示のための言語
を選択します。デフォルトの言語は English
です。
(訳注: ユーザプロファイルの設定での言語の設定とは異なります)
アトリビュート language
を使うと、設定を変更することができます。特定の部分だけの設定を変更することができます。設定できる言語は以下の通りです。cz
, dk
, nl
, en
, fr
, de
, is
, jp
, it
, no
, pl
, pt
, si
, es
, fi
, se
以下は、フォーマットの設定の一覧です。
Thu
。(訳注: jp
のときは「火」)
Thursday
。(訳注: jp
のときは「火曜日」)
Sep
。(訳注: jp
のときは「9」)
September
(訳注: jp
のときは「9」)
0
が付きます。例: 09
9
。
0
がつきます。例: 16
0
がつきます。例: 04
0
がつきます。例: 056
9
4
0
がつきます。例: 09
0
がつきます。例: 02
AM
、もしくは PM
になります。
0
がつきます。例: 04
September 6, 2002
(訳注: jp
では 2002年09月06日)
4:31 PM
(訳注: jp
では 16:31
)
0
がつきます。例: 01
2001
注意: Movable Type 2.0 以降は、%Z
をサポートしません。タイムゾーンが必要なときは、<$MTBlogTimezone$>
タグを利用してください。