「ver4/テーマの構造」を編集中
提供: baserCMS公式ガイド
警告: ログインしていません。
編集すると、IPアドレスがこのページの編集履歴に記録されます。この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
行1: | 行1: | ||
+ | [このコンテンツは内容調整中です] | ||
+ | |||
baserCMSのテーマファイルは、共通したフォルダ構造を持ちます。ファイル名については、個別のテーマで異なる部分もありますが、基幹部分はむしろ共通しています。 | baserCMSのテーマファイルは、共通したフォルダ構造を持ちます。ファイル名については、個別のテーマで異なる部分もありますが、基幹部分はむしろ共通しています。 | ||
− | (テーマに関する用語については「[[ | + | (テーマに関する用語については「[[テーマに関する用語]]」を参照して下さい。) |
− | また、フォルダ構造はVer.2系統とVer. | + | また、フォルダ構造はVer.2系統とVer.3系統との間で、若干の違いがあります。 |
− | == Ver. | + | == Ver.3系統のフォルダ構造 == |
テーマのフォルダ構造は以下のようになっています。それぞれ個別のファイル、フォルダについての詳細は後述しています。 | テーマのフォルダ構造は以下のようになっています。それぞれ個別のファイル、フォルダについての詳細は後述しています。 | ||
<pre> | <pre> | ||
行33: | 行35: | ||
*archives.php ・・・記事の一覧表示用 | *archives.php ・・・記事の一覧表示用 | ||
*posts.php ・・・サイトのトップページ等からブログ記事一覧を呼び出した際の表示用 | *posts.php ・・・サイトのトップページ等からブログ記事一覧を呼び出した際の表示用 | ||
− | (なお具体的な編集については「[[ | + | (なお具体的な編集については「[[ブログのデザイン編集]]」を参照してください。) |
また、コンテンツテンプレートの他、ブログプラグインで利用する為のビューファイルも入れることができます。 | また、コンテンツテンプレートの他、ブログプラグインで利用する為のビューファイルも入れることができます。 | ||
行39: | 行41: | ||
=== Configフォルダ === | === Configフォルダ === | ||
− | テーマに同封する初期データを入れたり、[[ | + | テーマに同封する初期データを入れたり、[[テーマに関する用語#テーマブートストラップ|テーマブートストラップ]]を利用して、テーマ内で利用する関数や定数の設定、cakePHPの[http://book.cakephp.org/2.0/en/The-Manual/Developing-with-CakePHP/Configuration.html Configreクラス]を使う事ができます。テーマブートストラップについては、このフォルダ内に「bootstrap.php」という名前のファイルを作成し、通常のPHPの文法で関数や定数を定義できます。 |
− | また、以下のフォルダとファイルを作る事によって、テーマのインストール時に展開される初期データを同封できます。初期データはCSVで入れておきます。なお、初期データの自動生成については、「[[ | + | また、以下のフォルダとファイルを作る事によって、テーマのインストール時に展開される初期データを同封できます。初期データはCSVで入れておきます。なお、初期データの自動生成については、「[[テーマ管理]]」を参照して下さい。 |
<pre> | <pre> | ||
− | /theme/(テーマのフォルダ)/Config/data/ | + | /app/webroot/theme/(テーマのフォルダ)/Config/data/ |
</pre> | </pre> | ||
+ | |||
=== cssフォルダ === | === cssフォルダ === | ||
行58: | 行61: | ||
=== Elementsフォルダ === | === Elementsフォルダ === | ||
− | [[ | + | [[テーマに関する用語#エレメントファイル|エレメントファイル]]を入れておくためのフォルダです。このフォルダに入れられたファイルは、<code>$this->BcBaser->elements()</code>で呼び出すことが出来ます。 |
行66: | 行69: | ||
=== Helpersフォルダ === | === Helpersフォルダ === | ||
− | [[ | + | [[テーマに関する用語#テーマヘルパー|テーマヘルパー]]を使う為のフォルダで、ヘルパーファイルが入ります。ここに含まれたヘルパーはテーマ内から呼び出すことができます。 |
=== imgフォルダ === | === imgフォルダ === | ||
行77: | 行80: | ||
=== Layoutsフォルダ === | === Layoutsフォルダ === | ||
− | テーマで利用する[[ | + | テーマで利用する[[テーマに関する用語#レイアウトテンプレート|レイアウトテンプレート]]を入れるフォルダです。「default.php」というファイルを作ると、それがこのテーマのデフォルトテンプレートとして利用されます。ただし、モバイル用のレイアウトは「mobile」というフォルダを作って、その中に入れます。スマートフォン用のレイアウトは「smartphone」というフォルダを作ってその中に入れます。 |
=== Mailフォルダ === | === Mailフォルダ === | ||
− | baserCMSに同封される「メールプラグイン」のデザイン・レイアウトに関するファイルが入っています。通常はメールプラグインで利用する[[ | + | baserCMSに同封される「メールプラグイン」のデザイン・レイアウトに関するファイルが入っています。通常はメールプラグインで利用する[[テーマに関する用語#コンテンツテンプレート|コンテンツテンプレート]]が入っています。 |
メールプラグインで利用できるコンテンツテンプレートのファイルは以下の3つです。 | メールプラグインで利用できるコンテンツテンプレートのファイルは以下の3つです。 | ||
行92: | 行95: | ||
=== Pagesフォルダ === | === Pagesフォルダ === | ||
− | + | 固定ページ管理で作成されたデータが保存されます。逆に、ここに作成された固定ページ用のデータを管理画面から読み込む事もできます。 | |
+ | |||
+ | また、固定カテゴリ管理で指定できる固定ページカテゴリのコンテンツテンプレートの設置もこのフォルダです。具体的には「templates」フォルダを用意して、その中にコンテンツテンプレートを含めます。 | ||
<pre> | <pre> | ||
− | /theme/(お使いのテーマ)/Pages/templates/ | + | /app/webroot/theme/(お使いのテーマ)/Pages/templates/ |
</pre> | </pre> | ||
行116: | 行121: | ||
=== screenshot.png === | === screenshot.png === | ||
テーマ管理で表示されるスクリーンショット画像です。PING画像を300px×240pxで作成します。 | テーマ管理で表示されるスクリーンショット画像です。PING画像を300px×240pxで作成します。 | ||
+ | |||
+ | |||
+ | == Ver.2系統のフォルダ構造 == | ||
+ | テーマのフォルダ構造は以下のようになっています。それぞれ個別のファイル、フォルダについての詳細は後述しています。 | ||
+ | <pre> | ||
+ | /テーマフォルダ/ | ||
+ | |-/blog/ ・・・ブログプラグイン部分に関わるファイル群が入ります。 | ||
+ | |-/config/ ・・・テーマブートストラップの為のファイルや、テーマの初期データ群が入ります。 | ||
+ | |-/css/ ・・・CSSファイルが入ります。 | ||
+ | |-/elements/ ・・・エレメントファイルが入ります。 | ||
+ | |-/feed/ ・・・フィードプラグイン部分に関わるファイル群が入ります。 | ||
+ | |-/helpers/ ・・・テーマ内で利用できるヘルパーやフックのためのファイルが入ります。 | ||
+ | |-/img/ ・・・画像ファイルが入ります。 | ||
+ | |-/js/ ・・・javascriptファイルが入ります。 | ||
+ | |-/layouts/ ・・・レイアウトテンプレートが入ります。 | ||
+ | |-/mail/ ・・・メールプラグイン部分に関わるファイル群が入ります。 | ||
+ | |-/pages/ ・・・固定ページファイルが入ります。 | ||
+ | |-VERSION.txt ・・・テーマのバージョン情報ファイル。 | ||
+ | |-config.php ・・・テーマの各種情報ファイル。 | ||
+ | |-screenshot.png ・・・管理画面で表示するスクリーンショット画像。 | ||
+ | </pre> | ||
+ | |||
+ | === blogフォルダ === | ||
+ | このフォルダにはブログプラグインで利用されるファイル群が入っています。通常はブログで利用する[[テーマに関する用語#コンテンツテンプレート|コンテンツテンプレート]]が入っており、'''defaultフォルダ'''がそのままデフォルトのコンテンツテンプレートになります。 | ||
+ | |||
+ | ブログのコンテンツテンプレートでは、以下の4つファイルが使用でき、これらのファイルを編集することで、各部のデザインを変更する事が出来ます。 | ||
+ | *index.php ・・・ブログのトップページ用 | ||
+ | *single.php ・・・個別の記事表示用 | ||
+ | *archives.php ・・・記事の一覧表示用 | ||
+ | *posts.php ・・・サイトのトップページ等からブログ記事一覧を呼び出した際の表示用 | ||
+ | (なお具体的な編集については「[[ブログのデザイン編集]]」を参照してください。) | ||
+ | |||
+ | また、コンテンツテンプレートの他、ブログプラグインで利用する為のビューファイルも入れることができます。 | ||
+ | |||
+ | |||
+ | === configフォルダ === | ||
+ | テーマに同封する初期データを入れたり、[[テーマに関する用語#テーマブートストラップ|テーマブートストラップ]]を利用して、テーマ内で利用する関数や定数の設定、cakePHPの[http://book.cakephp.org/1.2/en/The-Manual/Developing-with-CakePHP/Configuration.html Configreクラス]を使う事ができます。テーマブートストラップについては、このフォルダ内に「bootstrap.php」という名前のファイルを作成し、通常のPHPの文法で関数や定数を定義できます。 | ||
+ | |||
+ | また、以下のフォルダとファイルを作る事によって、テーマのインストール時に展開される初期データを同封できます。初期データはCSVで入れておきます。なお、初期データの自動生成については、「[[テーマ管理]]」を参照して下さい。 | ||
+ | |||
+ | <pre> | ||
+ | /app/webroot/themed/(テーマのフォルダ)/config/data/ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | === cssフォルダ === | ||
+ | テーマ内で利用するCSSファイルを入れておきます。ここに含まれるCSSの記述は一般的なものと特に相違ありませんが、背景画像などを指定する際は以下のような注意が必要です。 | ||
+ | |||
+ | テーマ内で使われる画像は「imgフォルダ」(後述)に入れることになります。通常のページ編集においては、画像は[[画像を表示する|$bcBaser->img();]]を利用して表示させることで、スマートURLをはじめ、ルーティングの問題に対応していますが、CSS内では関数が使えない為、テーマ内の画像を利用する際には、常に以下のような相対パスで記述を行う必要があります。 | ||
+ | |||
+ | <pre> | ||
+ | background-image: url("../img/hogehoge.jpg"); | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | === elementsフォルダ === | ||
+ | [[テーマに関する用語#エレメントファイル|エレメントファイル]]を入れておくためのフォルダです。このフォルダに入れられたファイルは、[[エレメントを呼び出す|$bcBaser->element();]]で呼び出すことが出来ます。 | ||
+ | |||
+ | |||
+ | === feedフォルダ === | ||
+ | baserCMSに同封されるフィードプラグインに関するファイルが入ります。具体的には、フィードプラグインで読み込んだRSSフィードを、実際の画面上でどのように表示させるか、そのデザインやレイアウトを「テンプレート」として記述します。テンプレート名は「default.php」とすれば、デフォルトでこのテンプレートが利用されます。複数のテンプレートを設置した場合、管理画面の[[フィードプラグイン管理]]から使用するテンプレートを選択できます。 | ||
+ | |||
+ | |||
+ | === helpersフォルダ === | ||
+ | [[テーマに関する用語#テーマヘルパー|テーマヘルパー]]を使う為のフォルダで、ヘルパーファイルが入ります。ここに含まれたヘルパーはテーマ内から呼び出すことができます。 | ||
+ | |||
+ | また、[[テーマに関する用語#テーマフック|テーマフック]]を利用する為のファイルも、このフォルダに入れます。その場合、ファイル名は「(テーマ名)_hook.php」とします。 | ||
+ | |||
+ | |||
+ | |||
+ | === imgフォルダ === | ||
+ | テーマで利用する画像が入るフォルダです。ここに入れた画像は[[画像を挿入する|$bcBaser->img();]]で呼び出す事ができます。 | ||
+ | |||
+ | |||
+ | === jsフォルダ === | ||
+ | テーマで利用するjavascriptファイルが入るフォルダです。ここに入れたjsファイルは[[javascriptを読み込む|$bcBaser->js();]]で呼び出す事ができます。 | ||
+ | |||
+ | |||
+ | === layoutsフォルダ === | ||
+ | テーマで利用する[[テーマに関する用語#レイアウトテンプレート|レイアウトテンプレート]]を入れるフォルダです。「default.php」というファイルを作ると、それがこのテーマのデフォルトテンプレートとして利用されます。ただし、モバイル用のレイアウトは「mobile」というフォルダを作って、その中に入れます。スマートフォン用のレイアウトは「smartphone」というフォルダを作ってその中に入れます。 | ||
+ | |||
+ | |||
+ | |||
+ | === mailフォルダ === | ||
+ | baserCMSに同封される「メールプラグイン」のデザイン・レイアウトに関するファイルが入っています。通常はメールプラグインで利用する[[テーマに関する用語#コンテンツテンプレート|コンテンツテンプレート]]が入っています。 | ||
+ | |||
+ | メールプラグインで利用できるコンテンツテンプレートのファイルは以下の3つです。 | ||
+ | *index.php ・・・メールフォームの画面用。 | ||
+ | *confirm.php ・・・送信前の確認画面用。 | ||
+ | *submit.php ・・・送信後の送信完了画面用。 | ||
+ | |||
+ | なお、コンテンツテンプレートの他にメールプラグインで利用する為のビューファイルも入れることができます。 | ||
+ | |||
+ | |||
+ | === pagesフォルダ === | ||
+ | 固定ページ管理で作成されたデータが保存されます。逆に、ここに作成された固定ページ用のデータを管理画面から読み込む事もできます。 | ||
+ | |||
+ | また、固定カテゴリ管理で指定できる固定ページカテゴリのコンテンツテンプレートの設置もこのフォルダです。具体的には「templates」フォルダを用意して、その中にコンテンツテンプレートを含めます。 | ||
+ | <pre> | ||
+ | /app/webroot/pages/templates/ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | === VERSION.txt === | ||
+ | テーマのバージョン情報を記載したテキストファイルです。一行目が読み込まれます。 | ||
+ | |||
+ | |||
+ | === config.php === | ||
+ | テーマ名や説明文、作成者、作成者のURLを記載します。ここに記載された情報が、管理画面のテーマ管理上で表示されます。 | ||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | $title = 'baserCMS Wiki テーマ'; | ||
+ | $description = '非公式Wikiの専用テーマです。'; | ||
+ | $author = 'goichi'; | ||
+ | $url = 'http://wiki.bmani-lab.com/'; | ||
+ | ?> | ||
+ | </source > | ||
+ | |||
+ | |||
+ | === screenshot.png === | ||
+ | テーマ管理で表示されるスクリーンショット画像です。PING画像を300px×240pxで作成します。 | ||
+ | |||
<br /><br /> | <br /><br /> | ||
''テキスト寄贈:[http://hiniarata.jp/ 馬庭 吾一@株式会社ヒニアラタ]'' | ''テキスト寄贈:[http://hiniarata.jp/ 馬庭 吾一@株式会社ヒニアラタ]'' |