Movable Typeのテンプレートは、あなたのサイトのデザインとレイアウトを定義します。 テンプレートは、どこにコンテンツ(エントリーとアーカイブ)を置き、どんなコンテンツにするか、などを記述しています。 通常、テンプレートはHTMLで作成され、Movable Typeのテンプレートのタグと変数が埋め込まれています(テンプレートのタグを参照)が、Movable Typeは、これ以外にもプレーン・テキスト、SSI(サーバーサイド・インクルード)を含むHTML、PHP、およびほかのテキスト形式の言語を生成できます
ブログのテンプレートの編集や、新しいテンプレートの定義には、Movable Typeにログインし、ブログを選択して、「テンプレート」をクリックします。Movable Typeには数種類のテンプレートがあります。
インデックス・テンプレートは、メインのエントリー・リストです。 Movable Typeが他のほとんどのブログ管理システムと異なるのは、複数のインデックス・テンプレートをサポートする点です。これは、メインのエントリー・リストを、たとえば、HTMLのリスト、XMLのリストといったように数種類のフォーマットで公開できることを意味しています。
デフォルトではインデックス・テンプレートは、現在からさかのぼった N 日までのエントリーを表示します。 N 日の「 N 」は、ブログの設定の中で指定します。 たとえばインデックスに表示される日数を 7 に指定すると、Movable Typeはデフォルトで、すべてのインデックス・テンプレート上で、過去7日間のエントリーを表示します。 7日間というのは、今日からさかのぼった過去の7日間を指し、 エントリーを投稿した日から過去7日間という意味ではありません。 したがって過去7日間(7日目を今日として)の3日目に投稿した場合は、その3日間の投稿がメイン・インデックスにリストされます。
上記にあるように、過去 N 日間のエントリーを表示するのは、インデックス・テンプレートのデフォルト設定です。この設定は、後述の MTEntries タグを使って変更可能です。たとえば、RSSシンジケート用のRSSインデックスを、日数に関係なく過去15エントリーが表示されるよう設定できます。
アーカイブ・テンプレートは、ブログ・アーカイブの外観や使い勝手を定義します。 選択した各アーカイブの種類(「アーカイブの設定」を参照)に対して、複数のアーカイブ・テンプレートを関連付けられるので、アーカイブしたエントリー群を異なる表示形式に設定できます。 たとえば、月毎のアーカイブに対し、エントリーを月毎にまとめて見せてくれるページと、月毎にカレンダー表示するページの2種類の表示形式を作成することができます。 あるいは異なるテンプレートを使って、アーカイブをハイテク風にも手作り風にも見せることができます。
ある種類のアーカイブが再構築されると、同じ種類のアーカイブに属するすべてのテンプレートも再構築されるため、ある種類のアーカイブの複数の表示形式が自動的に維持されます。
Movable Typeには、以下の3種類のアーカイブ・テンプレートがあります:
テンプレートの中には、インデックス・テンプレート、アーカイブ・テンプレート、テンプレート・モジュールのいずれにも属さないテンプレートがあります。
このテンプレートは、コメントの確認(プレビュー)を使うよう選択した場合(デフォルトでは選択済み)、コメントの確認ページのレイアウトを定義します。
コメントの設定によっては、ユーザーが投稿したコメントをすぐにサイトに表示しないようにすることも可能です。たとえば、コメントの事前確認を有効に設定した場合などです。 「コメント保留のテンプレート」は、投稿したコメントがすぐには表示されないよう設定している場合、コメント投稿時にユーザーに表示されるメッセージを定義します。 このメッセージを設定しておくと、ユーザーはコメントが受理されたことを確認でき、コメントが表示されるまで投稿を繰り返す試みを止めてくれます。
このテンプレートは、ユーザーがコメントを投稿した際にエラーが発生したとき、ユーザーに表示されるエラーメッセージを定義します。エラーとは、たとえば、名前やメールアドレスが入力されていない、メールアドレスやURLが無効である、などを指します。 このテンプレートを使うと、コメント投稿時のエラーをユーザー自身が修正してコメントを再投稿できるようにできます。
画像をアップロードすると、新しいエントリーにその画像を埋め込むか、その画像へのリンクを張るかの選択を、ポップアップ・ウィンドウで尋ねられます。 リンクを張ることを選択し、「画像のポップアップ・ウィンドウ」のレイアウトを定義した場合は、ポップアップ・ウィンドウにその画像を含むように、HTMLファイルが自動作成されます。
このテンプレートには以下の3つのテンプレート・タグを使うことができます:
このテンプレートは、コメントにポップアップ・ウィンドウを使うよう選択した場合(上記の「 コメント 」を参照)、コメント・ページのレイアウトを定義します。
このテンプレートは、ダイナミック・ページの出力で、エラーが発生したときに表示します。
このテンプレートは、システムで特定のエントリーに送られたトラックバックpingを一覧表示するポップアップ・ウィンドウのレイアウトを定義します(「トラックバック・システムについてのドキュメント」を参照)。
Movable Typeを使うと、共通して利用するひとまとまりのHTMLコードをテンプレートとして抽出でき、他のテンプレートに埋め込むことができます。これらの汎用テンプレートは、「テンプレート・モジュール」といいます。
テンプレート・モジュールの利用例に、サイト全体で使うヘッダーがあります。 「Header」という新しいテンプレート・モジュールを作成し、共通して利用するHTMLコードを貼り付け、新しいテンプレート・モジュールとして保存します。 テンプレート・モジュールは、MTIncludeタグを使うことで、他のすべてのテンプレートに埋め込むことができます。
<$MTInclude module="Header"$>
このタグは先ほど作った Header テンプレート・モジュールの内容に置き換わります。このように、共通して利用するコードを1カ所に保存でき、修正もそのテンプレート・モジュールだけで済むので、作業が楽になります。