baserCMSのテーマで利用する用語を説明します。
baserCMSで制作されるサイトの基本デザイン・レイアウト部分が記述されたテンプレートファイルです。記述にはPHPを使います。ここに記述された内容は、HTMLとして出力されます。
レイアウトテンプレートは、HTML全体(<html>
から</html>
まで)を担当するイメージで、このレイアウトテンプレート内で、エレメントテンプレート(後述)や 関数リファレンス にある関数を利用します。なお、レイアウトテンプレートの設置場所は以下になります。
/plugins/{テーマのフォルダ}/templates/layout/
上記のフォルダ内に、通常 default.php
という名前で作成します。 default.php
という名前で作成されたレイアウトテンプレートが、このテーマのデフォルトレイアウトテンプレートとして使用されます。上記フォルダ内に複数のレイアウトテンプレートを用意しておくことで、管理画面からそれらを選択できるようになります。
このファイルは、レイアウトテンプレート内から呼び出すことの出来る、切り分けられたHTMLの各パーツを指します。
この機能によって、レイアウトテンプレート内に記述するHTMLの一部(例えばページ上部のロゴ部分やグローバルメニュー)だけを別のファイルに記述しておき、それをエレメントテンプレートとしてレイアウトテンプレート内で呼び出すと、エレメントテンプレートの内容が、呼び出した箇所に出力されることになります。つまり、レイアウトテンプレートがページ全体のHTMLを担当するのに対し、エレメントテンプレートは切り分けられた個別のパーツ部分を担当するイメージです。個別のパーツなので、エレメントテンプレートを使わなくてもテーマの制作は可能ですが、切り分けて保存・編集することで、ソースの可視性・保守性が高まります。
エレメントテンプレートは以下の場所に設置し、特に命名規則はありません。ただし、ヘッダ部分のファイル名には header.php
を、フッター部分には footer.php
を使えば、それらのエレメントテンプレートを特別な関数で呼び出すことができます。
/plugins/{テーマのフォルダ}/templates/element/
エレメントテンプレートの呼び出しについては 関数リファレンス のエレメントテンプレートを呼び出すを参照してください。
このテンプレートは、固定ページカテゴリやブログプラグインやメールプラグインなど、限られたコンテンツの中で、その機能に合わせたデザイン・レイアウトを設定する為に用いられます。
固定ページのコンテンツテンプレートは、以下の場所にテンプレートとなるファイルを設置することで、コンテンツフォルダーや固定ページの作成・編集時に選択出来るようになります。
/plugins/{テーマのフォルダ}/templates/Pages/
例えばブログプラグインでの例を考えてみましょう。ブログプラグインが提供するブログコンテンツには以下の4つの画面の利用が想定されています。
上記の4つの画面のデザイン・レイアウトは、以下の4つのファイルが担当しています。
さて、baserCMSのブログプラグインには複数のブログを同時に設置できる機能が搭載されています。そのため、例えば「社長ブログ」と「スタッフブログ」の両方を、1つのサイト内に設置する事が可能です。この時に、もしも「社長ブログ」と「スタッフブログ」とで、異なるデザインを適用する必要が出てきたとしたらどうでしょうか。上記の4つのファイルが1種類しかないと、どのブログでも同じ画面デザインを使用することになってしまいます。
そこでコンテンツテンプレートの出番です。上述の4つのファイルを1つのコンテンツテンプレートとしてフォルダにまとめ、そしたフォルダを複数用意する事で、管理画面からどのコンテンツテンプレートを利用するかの選択をします。つまり、レイアウトテンプレートや固定ページカテゴリのコンテンツテンプレートが、ファイル単位であったのと事なり、ブログやメールプラグインのコンテンツテンプレートは、複数のファイルを1つにまとめたフォルダ単位で構成されているのです。
# とりまとめるフォルダが「default」の場合
/plugins/{テーマのフォルダ}/templates/plugin/BcBlog/Blog/default/
テーマブートストラップとは、そのテーマ内で利用する独自の関数や定数を定義したり、アプリケーション設定を再設定するなど出来る仕組みのことです。詳しくは テーマブートストラップ をご覧ください。
テーマ内で使用できるヘルパーです。ヘルパーはサイトの表示部分に関して、特定の機能を持った関数で、以下のフォルダに設置します。詳しくは次をご覧ください。
ウィジェットエリアとは、管理画面の「ウィジェットエリア管理」で登録するウィジェット表示の為のスペースです。レイアウトテンプレート内にウィジェットエリアの表示部分を作ることで、管理画面での登録・変更がその部分に反映されます。
ウィジェットとは、ある特定の機能をもった表示用のパーツの事で、「ブログのカレンダー表示ウィジェット」などが挙げられます。
例えば、ウィジェットエリア内に「ブログのカレンダー表示ウィジェット」を登録しておけば、レイアウトテンプレートで該当のウィジェットエリアを呼び出すだけで、ブログのカレンダーが表示されます。プログラミングの知識がなくても複雑な機能をもった部品を表示でき、さらに複数のエリアを登録できるので、必要に応じて必要なエリアを呼び出すことが出来ます。
ウィジェットにはbaserCMSが標準で用意しているものと、プラグインのインストールで利用できるようになるものがあります。