ここから本文です

ファイル読み込みの優先順位

baserCMS のベースとなっている CakePHP は、バージョンアップに耐えうるように、コアファイルが完全に分離されており、カスタマイズを行う場合は、コアファイルをコピーして、開発アプリケーション用のフォルダに配置すると そちらのファイルが優先して読み込まれるようになっています。 baserCMS もその仕組みを踏襲しており、baserCMS のコアファイルは完全に分離されています。 ここでは、カスタマイズ時に baserCMS の仕組みが把握しやすいように、クラスファイルやテンプレートファイルの読み込みの優先順位についてご説明します。

コントローラーの読み込み優先順位例

ここでは AppController を例にとってご説明します。

優先順位が高い
  ↑
/app/controllers/app_controller.php

/baser/controllers/app_controller.php

/cake/libs/controller/app_controller.php
  ↓
優先順位が低い
        

上記のとおり、CakePHP は、まず、app ディレクトリ内を走査し、なければ、baser フォルダを走査します。 それでも存在しなければ、cake フォルダを走査するという仕組みになっています。 モデル、コンポーネント、ビヘイビア等の各クラスも同様です。

ビュー関連の読み込み優先順位例

ビュー関連に限っては、テーマフォルダーも走査対象に含まれます。 ここでは、初期状態でページ機能として実装されているトップページを例にとってご説明します。
※ ビューに関しては Cakeフォルダは走査対象外となります。

優先順位が高い
  ↑
/app/webroot/themed/{テーマ名}/views/pages/index.ctp

/app/views/pages/index.ctp

/baser/views/pages/index.ctp
  ↓
優先順位が低い
        

プラグインの読み込み優先順位例

プラグインについては、CakePHP 同様、プラグインフォルダも走査対象に含まれる事となります。 ここでは、blogプラグインのブログトップページを例にとってご説明します。 ※ プラグインについては少しだけ複雑です。

優先順位が高い
  ↑
/app/webroot/themed/{テーマ名}/blog/blog/default/index.ctp

/app/views/plugins/blog/blog/default/index.ctp

/app/plugins/blog/views/blog/default/index.ctp

/baser/plugins/blog/views/blog/default/index.ctp
  ↓
優先順位が低い
				

 

baserCMS最新版ダウンロード

最新バーション:1.6.15

Google グループ baserCMSユーザー会
baserCMSの最新情報を随時配信中!
メーリングリストに参加
[Eメール]
  • わからないことはここで解決!BaserCMSユーザーフォーラム
  • どんなデザインでも自由自在!BaserCMS導入事例
  • BaserCMSでの制作ができる!協力制作会社のご紹介
  • こんな方たちに支えられてます!スペシャルサンクス
それいけ!baserCMS

- P R -

ホームページ更新システム導入サービス WEBちぇん
  • baserCMS on Twitter
    フォローする