複数のページテンプレートで共通するコンテンツや要素は、共有できると便利ですよね。
それを実現するのが、『モジュール』です。
モジュールは、共有したい部分を部品化・パーツ化して登録しておくものです。
各ページテンプレートでは、そのモジュールを呼び出す指示文さえ入れておけば、WEBページが作成されるときに自動的にモジュールの内容が挿入されます。
使い方は、まず、該当する部分のHTMLタグを「新規モジュール」として、適当な名前をつけて保存します。
あとは、モジュールを使いたいページテンプレートに、<$MTInclude module="(モジュール名)"$>という変数を入力するだけです。
再構築でHTMLページが作成されるときに、変数部分が、登録したHTMLに勝手に置き換わって表示されます。
■タイトルバナーをモジュールにしてみよう
各ページテンプレートで共通にしたいものといえば、まずはタイトルバナーの部分。
ということで、試しにモジュールにしてみましょう。
テンプレートのメインページ(index.html)を開いて、以下の部分を探してください。
これが、タイトルバナーを表示している部分です。けっこう上の方にあります。
この内容をとりあえずテキストファイルにでもコピーしておいて、次はモジュールテンプレートの画面を開いてください。
右上の「モジュールを新規作成」をクリックし、登録画面のコンテンツ部分(中央の白い四角内)に、コピーした内容を貼り付けます。
モジュール名は、適当に「title-banner」とでもして、保存します。
では、メインページ(index.html)に戻りましょう。
先ほどのタイトルバナーの部分をそっくり削除して、変わりに以下の変数を入力します。
<$MTInclude module="title-banner"$>
『MTInclude』は、モジュールを呼び出す指示文です。
これでS&R(保存+再構築)すると、MTIncludeによってタイトルバナー部分が表示されるようになります。
・・・見た目は前と変わらないのでホームページ上では違いはわかりませんけどね。
同様に、アーカイブページ、カテゴリー・アーカイブ、エントリー・アーカイブ、検索結果、等のテンプレートもタイトルバナー部分をモジュールの変数に置き換えてしまいましょう。
こうしておけば、「title-bannerモジュール」を編集すればすべてのページに変更が反映できちゃいます。
■モジュール化すると便利なパーツ
他にも、複数のページテンプレートで使っているコンテンツはすべてモジュール化しちゃいましょう。
特にナビ部分に表示しているコンテンツはすべてモジュールにしてしまうと便利です。
・検索ボックス
検索
・最近のエントリー
最近のエントリー
・カテゴリー(リンクナビのところ)
・アーカイブ(過去記事表示のところ)
・ライセンス表示
ちなみに、<head>~</head>部分もモジュール化できますが、ここはよく見ると各ページテンプレートで少し異なっています。
なので共通のモジュールにはできないので注意してくださいね。