テンプレート化のルールを決める
計画的にテンプレートとモジュールを作成し、後々の修正の手間を最小限にするために、XHTMLをテンプレート化・モジュール化する一定のルールを決めておくべきです。
例えば、以下のような例です。
- 見出しh1は再構築後出来上がったひとつのXHTMLファイルにつき一回に限る。
- ヘッダ内の見出しh1の内容は必ずサイト名とする。
- maincontent内カテゴリ・エントリリスト見出しはh2とする。
- subcontent、extracontent内カテゴリ・エントリリストなどはdl、dt、ddでマークアップする。見出しはdt、内容がddとなる。div空ブロックは使用しない。
- 見出しは文書全てでh1、h2、h3、h4までしか使用しない。
- プレーンなXHTMLを目指し、デフォルトテンプレートで目に付く不要なdiv空ブロック、特殊なid名・class名はなるべく削除する方向で。
「あれ?ここはどうやるんだったっけ?h2?h3?」ということがなくなると、作業もはかどります。
なお、上のリストはあくまでもサンプルですので、本エントリを参考にされる方は適宜変えてください。
予約変数・テンプレート識別変数を使用する
以下はどの種類のページでどういう表示を行うか、などといった作業には欠かせない、テンプレート予約変数・テンプレート識別変数です。これは、例えば「メインインデックスページでのみタグクラウドを設置する」などといったことをやるときは必須となります。
※マークのついたもの以外は全てデフォルトと同じ名前です。
- メインインデックスであるかどうか判断
- MTIf name="main_index"
- システム以外全てであるかどうか判断
- MTIf name="main_template"
- カテゴリ類全部であるかどうか判断
- MTIf name="archive_listing"
- 日時用カテゴリのみであるかどうか判断
- MTIf name="datebased_only_archive"
- Auther用カテゴリのみであるかどうか判断
- MTIf name="author_archive"
- カテゴリのみであるかどうか判断
- MTIf name="category_archive"
- エントリのみであるかどうか判断
- MTIf name="entry_template"
- ウェブページのみであるかどうか判断
- MTIf name="page_template"
- エントリおよびウェブページであるかどうか判断
- feedback_template
- 検索ページであるかどうか判断
- MTIf name="search_results_template"
- コメント完了ページであるかどうか判断(※今回の例で追加)
- MTIf name="comment_response_template"
- コメントプレビューページであるかどうか判断
- MTIf name="comment_preview_template"
- システムページであるかどうか判断
- MTIf name="system_template"
- ページ先頭へ
- 前のエントリ: 型枠となるXHTMLファイルを作成
- 次のエントリ: (インデックス)メインページのテンプレート
- カテゴリ:テンプレートの作成例
テンプレートの作成例
- MT4のテンプレートとは
- テンプレートの題材について
- 先に問題点を洗い出しておく
- XHTMLの構造を確認する
- モジュール化設計
- テンプレートファイル・モジュールファイルの準備
- 型枠となるXHTMLファイルを作成
- テンプレート化のルールを決める
- (インデックス)メインページのテンプレート
- (インデックス)アーカイブインデックスのテンプレート
- (アーカイブ)ブログ記事のテンプレート
- (アーカイブ)ウェブページのテンプレート
- (アーカイブ)ブログ記事リストのテンプレート
- (システム)検索結果のテンプレート
- (システム)コメント完了のテンプレート
- (システム)コメントプレビューのテンプレート
- (モジュール)ブログ記事の概要のモジュール
- (モジュール)ブログ記事の詳細のモジュール
- (モジュール)ウェブページの詳細のモジュール
- (モジュール)ブログ記事のメタデータのモジュール
- (モジュール)コメントのモジュール
- (モジュール)コメント入力フォームのモジュール
- (モジュール)コメント詳細のモジュール
- (モジュール)カテゴリのモジュール
- (モジュール)タグのモジュール
- (モジュール)トラックバックのモジュール
- (追加)mdlXMLDecのモジュール
- (追加)mdlMetaのモジュール
- (モジュール)ヘッダーのモジュール
- (追加)mdlExtraのモジュール
- (モジュール)サイドバーのモジュール
- (モジュール)フッターのモジュール
- (スタイルシート)スタイルシート