トップページのカスタマイズ!

Movable TypeとHTMLの関係 本連載では、Movable Type 4.23を使用して、テンプレートのカスタマイズ方法について解説していきます。第1回は、誰もが最初にするであろうデフォルトのカスタマイズから実践します。その前に、Movable Type(以下、MT)の仕組みについてざっ

NORI(伊藤のりゆき)

2009年3月2日 20:00

Movable TypeとHTMLの関係

 本連載では、Movable Type 4.23を使用して、テンプレートのカスタマイズ方法について解説していきます。第1回は、誰もが最初にするであろうデフォルトのカスタマイズから実践します。その前に、Movable Type(以下、MT)の仕組みについてざっとご紹介しましょう。

 MTは、データベースに入っているテキストを、「テンプレート」と言われるひな形(テンプレート)を通して別のテキストに書き出し保存するサーバーのプログラムです。ここで重要なのは、「静的テキストを書き出すだけ」という点です。本連載では扱いませんが、再構築を必要としないダイナミック・パブリッシングも提供されています。

 「テンプレート」のフォーマットは「MTタグ」と言われる記号で表現されます。このMTタグは、データベースから直接データを読み込み置き換えるだけのものから、データを条件と照らし合わせてから出力するかどうか決めたり、変数を使って本格的にプログラムを組めたりなど、多くの機能があります。このMTタグを使いこなせば、MTを使いこなすことができます。

 MTでは、テンプレートからhtmlなどを書き出す行程を「再構築」と呼んでいます。ブログ記事を新規エントリーしたときやコメントを投稿されたときなどは、再構築が自動で行われます。しかし、管理者がテンプレートを変更したときなどは、意図的に行う必要があります。

テンプレートの種類と役割

 MTのデフォルトで作られたブログサイトは次のような構成になります。

1. トップページ:個別ページや過去のアーカイブへのリンクなどがある
2. カテゴリ別アーカイブページ:カテゴリごとに分けられた記事でまとめられている
3. 月別アーカイブページ:年月ごとに分けられた記事でまとめられている
4. 個別ページ:トップページやアーカイブページから、最後にたどり着く1件ごとの記事がある

 MTには、上記の1~4の各ページの種類に応じたテンプレートがあり、それらは、それぞれ次の場所で編集できるようになっています。

1. トップページ:「インデックステンプレート」内の「メインページ」
2. カテゴリ別アーカイブページ:「アーカイブテンプレート」内の「カテゴリ別ブログ記事リスト」
3. 月別アーカイブページ:「アーカイブテンプレート」内の「月別ブログ記事リスト」
4. 個別ページ:「アーカイブテンプレート」内の「ブログ記事」

 例えば「アーカイブテンプレート」の「カテゴリ別ブログ記事リスト」では、すべてのエントリーから、あるカテゴリー単位で記事を抜き出し1つにまとめます。その結果、1カテゴリーで1つのhtmlファイルができることになります。その1つのhtmlファイルには、共通するカテゴリーで分類された複数のブログ記事が集められています。

 「月別ブログ記事リスト」も同様に、すべてのエントリーを調べ月単位に振り分けるため、1ヶ月ごとのhtmlファイルがあり、1つのhtmlファイルには複数の記事がまとめられています。

 「ブログ記事」は、投稿した記事単位という分け方で、1つのhtmlファイルに1つの記事ですが、記事の数だけhtmlファイルが作成されます。

 アーカイブページは、1つのテンプレートから複数のhtmlファイルを生成できます。ただし、デザインやレイアウトは同一で、テキストの内容だけが差し替えられることになります。

 一方、インデックステンプレートは、1つのテンプレートから1つのhtmlファイルしか生成しない特別な役割を持つページです。

 テンプレートはhtmlと1対1のインデックステンプレートか、1対多のアーカイブテンプレートのどちらかしかありませんので、2つの性格を覚えておくと良いでしょう。

 次にテンプレートに記述するMTタグについて解説します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30