制作記事 Web制作アプリケーションMovableTypeテンプレート作成の初歩 Part2

テンプレート作成の初歩 Part2

テンプレートは、ブログ単位のテンプレートと全ブログ共通のグローバルテンプレートに大別されます。さらに、ブログ単位のテンプレートは大きく5種類に分類されます。

  • インデックステンプレート
  • アーカイブテンプレート
  • テンプレートモジュール
  • システムテンプレート
  • ウィジェット

また、グローバルテンプレートは3種類に分類されます。

  • テンプレートモジュール
  • メールテンプレート
  • ウィジェット

インデックステンプレート

ひとつのテンプレートに対して、ひとつのファイルを出力(さまざまなファイル形式での出力が可能)。

アーカイブテンプレート

ひとつのテンプレートに対して、出力できるファイル数はブログ記事やカテゴリの件数に依存・さまざまな種類のファイルを出力・各々のテンプレートがなにかしらのコンテキストになる。

  • ウェブページ
  • ブログ記事
  • ブログ記事リスト

ウェブページ

ひとつのテンプレートに対して、公開中のウェブページの件数だけファイルを出力。ウェブページをコンテキストとする。

ブログ記事

テンプレートはひとつだが、公開中の記事の件数だけファイルを出力。ブログ記事をコンテキストとする。

ブログ記事リスト

公開中のブログ記事をさまざまな条件でインデックスし、アーカイブとするテンプレート。選択したアーカイブにより、コンテキストは変わる。

テンプレートモジュール

共通利用可能な内容を、複数のテンプレートで使い回ししたいときは、テンプレートモジュールを利用する。

システムテンプレート

特定の画面のデザインを設定するためのテンプレート。システムテンプレートはCGIを利用し、閲覧時のみページを生成して表示する。

  • コメントプレビュー(ブログ記事個々をコンテキストとする)
  • コメント完了(ブログ記事個々をコンテキストとする)
  • ダイナミックパブリッシングエラー
  • ポップアップ画像
  • 検索結果

ウィジェット

テンプレートモジュール群を部品として管理。自由に追加・削除できます。

グローバルテンプレート

MTで管理しているすべてのブログで共通利用したいテンプレートモジュールなどをグローバルテンプレートでモジュール化(ウィジェット化)しておくと便利。

「システムメニュー」→「グローバルテンプレート」

たとえば、グローバルテンプレートで「ヘッダー」モジュールを作成しておけば、ブログ単位で「ヘッダー」モジュールを作成する必要がない。
また、あるブログでヘッダーの中身を変更したい場合、グローバルテンプレートで作成したモジュールと同じ名前「ヘッダー」モジュールをそのブログ内で作成することで、優先して読み込まれる。

優先度:ブログのテンプレート > グローバルテンプレート

なるほど、グローバルテンプレートは大変便利。でも、命名規則を明確にしておかないと、ブログが増えるたびに混乱してしまう原因になりそうだがら注意したい。