「ファイル読み込みの優先順位」の版間の差分
提供: baserCMS公式ガイド
Tomohiro Abe (トーク | 投稿記録) (ページの作成:「baserCMS のベースとなっている CakePHP は、バージョンアップに耐えうるように、コアファイルが完全に分離されており、カスタ...」) |
Tomohiro Abe (トーク | 投稿記録) |
||
行29: | 行29: | ||
{baserCMSの設置フォルダ}/lib/Baser/View/Layouts/default.php | {baserCMSの設置フォルダ}/lib/Baser/View/Layouts/default.php | ||
+ | ↓ | ||
+ | 優先順位が低い | ||
+ | </pre> | ||
+ | |||
+ | ## css、js、imgの読み込み優先順位例 | ||
+ | |||
+ | css、js、imgの読み込み順位について、imgを例にとって説明していきます。 | ||
+ | |||
+ | <pre> | ||
+ | 優先順位が高い | ||
+ | ↑ | ||
+ | {baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/img/{IMG} | ||
+ | |||
+ | {baserCMSの設置フォルダ}/app/webroot/img/{IMG} | ||
+ | |||
+ | {baserCMSの設置フォルダ}/app/Plugin/{プラグイン名}/webroot/img/{IMG} | ||
+ | |||
+ | {baserCMSの設置フォルダ}/lib/Baser/webroot/img/{IMG} | ||
↓ | ↓ | ||
優先順位が低い | 優先順位が低い |
2016年8月4日 (木) 15:44時点における最新版
baserCMS のベースとなっている CakePHP は、バージョンアップに耐えうるように、コアファイルが完全に分離されており、カスタマイズを行う場合は、コアファイルをコピーして、開発アプリケーション用のフォルダに配置すると そちらのファイルが優先して読み込まれるようになっています。 baserCMS もその仕組みを踏襲しており、baserCMS のコアファイルは完全に分離されています。 ここでは、カスタマイズ時に baserCMS の仕組みが把握しやすいように、クラスファイルやテンプレートファイルの読み込みの優先順位についてご説明します。
コントローラーの読み込み優先順位例
ここでは AppController を例にとってご説明します。
優先順位が高い ↑ {baserCMSの設置フォルダ}/app/Controller/AppController.php {baserCMSの設置フォルダ}/lib/Baser/Controller/AppController.php ↓ 優先順位が低い
上記のとおり、CakePHP は、まず、app ディレクトリ内を走査し、なければ、baser フォルダを走査するという仕組みになっています。 モデル、コンポーネント、ビヘイビア等の各クラスも同様です。
ビュー関連の読み込み優先順位例
ビュー関連に限っては、テーマフォルダーも走査対象に含まれます。 ここでは、レイアウトファイルを例にとってご説明します。
優先順位が高い ↑ {baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/View/Layouts/default.php {baserCMSの設置フォルダ}/app/View/Layouts/default.php {baserCMSの設置フォルダ}/lib/Baser/View/Layouts/default.php ↓ 優先順位が低い
css、js、imgの読み込み優先順位例
css、js、imgの読み込み順位について、imgを例にとって説明していきます。
優先順位が高い ↑ {baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/img/{IMG} {baserCMSの設置フォルダ}/app/webroot/img/{IMG} {baserCMSの設置フォルダ}/app/Plugin/{プラグイン名}/webroot/img/{IMG} {baserCMSの設置フォルダ}/lib/Baser/webroot/img/{IMG} ↓ 優先順位が低い
プラグインの読み込み優先順位例
プラグインについては、プラグインフォルダも走査対象に含まれる事となります。 ここでは、Blogプラグインのブログトップページを例にとってご説明します。
※ プラグインについては少しだけ複雑です。
優先順位が高い ↑ {baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/Blog/default/index.php {baserCMSの設置フォルダ}/app/View/Plugin/Blog/default/index.php {baserCMSの設置フォルダ}/app/Plugin/Blog/View/Blog/default/index.php {baserCMSの設置フォルダ}/lib/Baser/Plugin/Blog/View/Blog/default/index.php ↓ 優先順位が低い