個人用ツール

テーマの構造

提供: baserCMS公式ガイド

2016年9月18日 (日) 18:43時点におけるGaryuten (トーク | 投稿記録)による版

移動: 案内, 検索

baserCMSのテーマファイルは、共通したフォルダ構造を持ちます。ファイル名については、個別のテーマで異なる部分もありますが、基幹部分はむしろ共通しています。 (テーマに関する用語については「テーマに関する用語」を参照して下さい。)

また、フォルダ構造はVer.2系統とVer.3系統以降との間で、若干の違いがあります。

Ver.3、Ver.4系統のフォルダ構造

テーマのフォルダ構造は以下のようになっています。それぞれ個別のファイル、フォルダについての詳細は後述しています。

/テーマフォルダ/
  |-/Blog/ ・・・ブログプラグイン部分に関わるファイル群が入ります。
  |-/Config/ ・・・テーマブートストラップの為のファイルや、テーマの初期データ群が入ります。
  |-/css/ ・・・CSSファイルが入ります。
  |-/Elements/ ・・・エレメントファイルが入ります。
  |-/Feed/ ・・・フィードプラグイン部分に関わるファイル群が入ります。
  |-/Helpers/ ・・・テーマ内で利用できるヘルパーやフックのためのファイルが入ります。
  |-/img/ ・・・画像ファイルが入ります。
  |-/js/ ・・・javascriptファイルが入ります。
  |-/Layouts/ ・・・レイアウトテンプレートが入ります。
  |-/Mail/ ・・・メールプラグイン部分に関わるファイル群が入ります。
  |-/Pages/ ・・・固定ページファイルが入ります。
  |-VERSION.txt ・・・テーマのバージョン情報ファイル。
  |-config.php ・・・テーマの各種情報ファイル。
  |-screenshot.png ・・・管理画面で表示するスクリーンショット画像。

Blogフォルダ

このフォルダにはブログプラグインで利用されるファイル群が入っています。通常はブログで利用するコンテンツテンプレートが入っており、defaultフォルダがそのままデフォルトのコンテンツテンプレートになります。

ブログのコンテンツテンプレートでは、以下の4つファイルが使用でき、これらのファイルを編集することで、各部のデザインを変更する事が出来ます。

  • index.php ・・・ブログのトップページ用
  • single.php ・・・個別の記事表示用
  • archives.php ・・・記事の一覧表示用
  • posts.php ・・・サイトのトップページ等からブログ記事一覧を呼び出した際の表示用

(なお具体的な編集については「ブログのデザイン編集」を参照してください。)

また、コンテンツテンプレートの他、ブログプラグインで利用する為のビューファイルも入れることができます。

Configフォルダ

テーマに同封する初期データを入れたり、テーマブートストラップを利用して、テーマ内で利用する関数や定数の設定、cakePHPのConfigreクラスを使う事ができます。テーマブートストラップについては、このフォルダ内に「bootstrap.php」という名前のファイルを作成し、通常のPHPの文法で関数や定数を定義できます。

また、以下のフォルダとファイルを作る事によって、テーマのインストール時に展開される初期データを同封できます。初期データはCSVで入れておきます。なお、初期データの自動生成については、「テーマ管理」を参照して下さい。

/app/webroot/theme/(テーマのフォルダ)/Config/data/

cssフォルダ

テーマ内で利用するCSSファイルを入れておきます。ここに含まれるCSSの記述は一般的なものと特に相違ありませんが、背景画像などを指定する際は以下のような注意が必要です。ここに入れられたCSSファイルは、$this->BcBaser->css()で呼び出すことが出来ます。

テーマ内で使われる画像は「imgフォルダ」(後述)に入れることになります。通常のページ編集においては、画像は関数「img()」を利用して表示させることで、スマートURLをはじめ、ルーティングの問題に対応していますが、CSS内では関数が使えない為、テーマ内の画像を利用する際には、常に以下のような相対パスで記述を行う必要があります。

background-image: url("../img/hogehoge.jpg");

Elementsフォルダ

エレメントファイルを入れておくためのフォルダです。このフォルダに入れられたファイルは、$this->BcBaser->elements()で呼び出すことが出来ます。

 

Feedフォルダ

baserCMSに同封されるフィードプラグインに関するファイルが入ります。具体的には、フィードプラグインで読み込んだRSSフィードを、実際の画面上でどのように表示させるか、そのデザインやレイアウトを「テンプレート」として記述します。テンプレート名は「default.php」とすれば、デフォルトでこのテンプレートが利用されます。複数のテンプレートを設置した場合、管理画面のフィードプラグイン管理から使用するテンプレートを選択できます。

Helpersフォルダ

テーマヘルパーを使う為のフォルダで、ヘルパーファイルが入ります。ここに含まれたヘルパーはテーマ内から呼び出すことができます。

imgフォルダ

テーマで利用する画像が入るフォルダです。ここに入れた画像は$this->BcBaser->img()で呼び出す事ができます。

jsフォルダ

テーマで利用するjavascriptファイルが入るフォルダです。ここに入れたjsファイルは$this->BcBaser->js()で呼び出す事ができます。

Layoutsフォルダ

テーマで利用するレイアウトテンプレートを入れるフォルダです。「default.php」というファイルを作ると、それがこのテーマのデフォルトテンプレートとして利用されます。ただし、モバイル用のレイアウトは「mobile」というフォルダを作って、その中に入れます。スマートフォン用のレイアウトは「smartphone」というフォルダを作ってその中に入れます。

Mailフォルダ

baserCMSに同封される「メールプラグイン」のデザイン・レイアウトに関するファイルが入っています。通常はメールプラグインで利用するコンテンツテンプレートが入っています。

メールプラグインで利用できるコンテンツテンプレートのファイルは以下の3つです。

  • index.php ・・・メールフォームの画面用。
  • confirm.php ・・・送信前の確認画面用。
  • submit.php ・・・送信後の送信完了画面用。

なお、コンテンツテンプレートの他にメールプラグインで利用する為のビューファイルも入れることができます。

Pagesフォルダ

固定ページ管理で作成されたデータが保存されます。逆に、ここに作成された固定ページ用のデータを管理画面から読み込む事もできます。

また、固定カテゴリ管理で指定できる固定ページカテゴリのコンテンツテンプレートの設置もこのフォルダです。具体的には「templates」フォルダを用意して、その中にコンテンツテンプレートを含めます。

/app/webroot/theme/(お使いのテーマ)/Pages/templates/

 

VERSION.txt

テーマのバージョン情報を記載したテキストファイルです。一行目が読み込まれます。

config.php

テーマ名や説明文、作成者、作成者のURLを記載します。ここに記載された情報が、管理画面のテーマ管理上で表示されます。

<?php
$title = 'baserCMS Wiki テーマ';
$description = '非公式Wikiの専用テーマです。';
$author = 'goichi';
$url = 'http://wiki.bmani-lab.com/';
?>

screenshot.png

テーマ管理で表示されるスクリーンショット画像です。PING画像を300px×240pxで作成します。

Ver.2系統のフォルダ構造

テーマのフォルダ構造は以下のようになっています。それぞれ個別のファイル、フォルダについての詳細は後述しています。

/テーマフォルダ/
  |-/blog/ ・・・ブログプラグイン部分に関わるファイル群が入ります。
  |-/config/ ・・・テーマブートストラップの為のファイルや、テーマの初期データ群が入ります。
  |-/css/ ・・・CSSファイルが入ります。
  |-/elements/ ・・・エレメントファイルが入ります。
  |-/feed/ ・・・フィードプラグイン部分に関わるファイル群が入ります。
  |-/helpers/ ・・・テーマ内で利用できるヘルパーやフックのためのファイルが入ります。
  |-/img/ ・・・画像ファイルが入ります。
  |-/js/ ・・・javascriptファイルが入ります。
  |-/layouts/ ・・・レイアウトテンプレートが入ります。
  |-/mail/ ・・・メールプラグイン部分に関わるファイル群が入ります。
  |-/pages/ ・・・固定ページファイルが入ります。
  |-VERSION.txt ・・・テーマのバージョン情報ファイル。
  |-config.php ・・・テーマの各種情報ファイル。
  |-screenshot.png ・・・管理画面で表示するスクリーンショット画像。

blogフォルダ

このフォルダにはブログプラグインで利用されるファイル群が入っています。通常はブログで利用するコンテンツテンプレートが入っており、defaultフォルダがそのままデフォルトのコンテンツテンプレートになります。

ブログのコンテンツテンプレートでは、以下の4つファイルが使用でき、これらのファイルを編集することで、各部のデザインを変更する事が出来ます。

  • index.php ・・・ブログのトップページ用
  • single.php ・・・個別の記事表示用
  • archives.php ・・・記事の一覧表示用
  • posts.php ・・・サイトのトップページ等からブログ記事一覧を呼び出した際の表示用

(なお具体的な編集については「ブログのデザイン編集」を参照してください。)

また、コンテンツテンプレートの他、ブログプラグインで利用する為のビューファイルも入れることができます。

configフォルダ

テーマに同封する初期データを入れたり、テーマブートストラップを利用して、テーマ内で利用する関数や定数の設定、cakePHPのConfigreクラスを使う事ができます。テーマブートストラップについては、このフォルダ内に「bootstrap.php」という名前のファイルを作成し、通常のPHPの文法で関数や定数を定義できます。

また、以下のフォルダとファイルを作る事によって、テーマのインストール時に展開される初期データを同封できます。初期データはCSVで入れておきます。なお、初期データの自動生成については、「テーマ管理」を参照して下さい。

/app/webroot/themed/(テーマのフォルダ)/config/data/

cssフォルダ

テーマ内で利用するCSSファイルを入れておきます。ここに含まれるCSSの記述は一般的なものと特に相違ありませんが、背景画像などを指定する際は以下のような注意が必要です。

テーマ内で使われる画像は「imgフォルダ」(後述)に入れることになります。通常のページ編集においては、画像は$bcBaser->img();を利用して表示させることで、スマートURLをはじめ、ルーティングの問題に対応していますが、CSS内では関数が使えない為、テーマ内の画像を利用する際には、常に以下のような相対パスで記述を行う必要があります。

background-image: url("../img/hogehoge.jpg");

elementsフォルダ

エレメントファイルを入れておくためのフォルダです。このフォルダに入れられたファイルは、$bcBaser->element();で呼び出すことが出来ます。

 

feedフォルダ

baserCMSに同封されるフィードプラグインに関するファイルが入ります。具体的には、フィードプラグインで読み込んだRSSフィードを、実際の画面上でどのように表示させるか、そのデザインやレイアウトを「テンプレート」として記述します。テンプレート名は「default.php」とすれば、デフォルトでこのテンプレートが利用されます。複数のテンプレートを設置した場合、管理画面のフィードプラグイン管理から使用するテンプレートを選択できます。

helpersフォルダ

テーマヘルパーを使う為のフォルダで、ヘルパーファイルが入ります。ここに含まれたヘルパーはテーマ内から呼び出すことができます。

また、テーマフックを利用する為のファイルも、このフォルダに入れます。その場合、ファイル名は「(テーマ名)_hook.php」とします。

 

imgフォルダ

テーマで利用する画像が入るフォルダです。ここに入れた画像は$bcBaser->img();で呼び出す事ができます。

jsフォルダ

テーマで利用するjavascriptファイルが入るフォルダです。ここに入れたjsファイルは$bcBaser->js();で呼び出す事ができます。

layoutsフォルダ

テーマで利用するレイアウトテンプレートを入れるフォルダです。「default.php」というファイルを作ると、それがこのテーマのデフォルトテンプレートとして利用されます。ただし、モバイル用のレイアウトは「mobile」というフォルダを作って、その中に入れます。スマートフォン用のレイアウトは「smartphone」というフォルダを作ってその中に入れます。

 

mailフォルダ

baserCMSに同封される「メールプラグイン」のデザイン・レイアウトに関するファイルが入っています。通常はメールプラグインで利用するコンテンツテンプレートが入っています。

メールプラグインで利用できるコンテンツテンプレートのファイルは以下の3つです。

  • index.php ・・・メールフォームの画面用。
  • confirm.php ・・・送信前の確認画面用。
  • submit.php ・・・送信後の送信完了画面用。

なお、コンテンツテンプレートの他にメールプラグインで利用する為のビューファイルも入れることができます。

pagesフォルダ

固定ページ管理で作成されたデータが保存されます。逆に、ここに作成された固定ページ用のデータを管理画面から読み込む事もできます。

また、固定カテゴリ管理で指定できる固定ページカテゴリのコンテンツテンプレートの設置もこのフォルダです。具体的には「templates」フォルダを用意して、その中にコンテンツテンプレートを含めます。

/app/webroot/pages/templates/

 

VERSION.txt

テーマのバージョン情報を記載したテキストファイルです。一行目が読み込まれます。

config.php

テーマ名や説明文、作成者、作成者のURLを記載します。ここに記載された情報が、管理画面のテーマ管理上で表示されます。

<?php
$title = 'baserCMS Wiki テーマ';
$description = '非公式Wikiの専用テーマです。';
$author = 'goichi';
$url = 'http://wiki.bmani-lab.com/';
?>

screenshot.png

テーマ管理で表示されるスクリーンショット画像です。PING画像を300px×240pxで作成します。

 

テキスト寄贈:馬庭 吾一@株式会社ヒニアラタ