個人用ツール

「ver4/ファイル読み込みの優先順位」の版間の差分

提供: baserCMS公式ガイド

移動: 案内, 検索
(ページの作成:「[このコンテンツは内容調整中です] baserCMS のベースとなっている CakePHP は、バージョンアップに耐えうるように、コアファイ...」)
 
 
行26: 行26:
 
優先順位が高い
 
優先順位が高い
 
  ↑
 
  ↑
{baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/View/Layouts/default.php
+
{baserCMSの設置フォルダ}/theme/{テーマ名}/View/Layouts/default.php
  
 
{baserCMSの設置フォルダ}/app/View/Layouts/default.php
 
{baserCMSの設置フォルダ}/app/View/Layouts/default.php
行42: 行42:
 
優先順位が高い
 
優先順位が高い
 
  ↑
 
  ↑
{baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/img/{IMG}
+
{baserCMSの設置フォルダ}/theme/{テーマ名}/img/{IMG}
  
{baserCMSの設置フォルダ}/app/webroot/img/{IMG}
+
{baserCMSの設置フォルダ}/img/{IMG}
  
 
{baserCMSの設置フォルダ}/app/Plugin/{プラグイン名}/webroot/img/{IMG}
 
{baserCMSの設置フォルダ}/app/Plugin/{プラグイン名}/webroot/img/{IMG}
行62: 行62:
 
優先順位が高い
 
優先順位が高い
 
  ↑
 
  ↑
{baserCMSの設置フォルダ}/app/webroot/theme/{テーマ名}/Blog/default/index.php
+
{baserCMSの設置フォルダ}/theme/{テーマ名}/Blog/default/index.php
  
 
{baserCMSの設置フォルダ}/app/View/Plugin/Blog/default/index.php
 
{baserCMSの設置フォルダ}/app/View/Plugin/Blog/default/index.php

2016年10月28日 (金) 19:23時点における最新版

[このコンテンツは内容調整中です]

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

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

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

優先順位が高い
  ↑
{baserCMSの設置フォルダ}/app/Controller/AppController.php

{baserCMSの設置フォルダ}/lib/Baser/Controller/AppController.php
  ↓
優先順位が低い

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

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

ビュー関連に限っては、テーマフォルダーも走査対象に含まれます。 ここでは、レイアウトファイルを例にとってご説明します。

優先順位が高い
  ↑
{baserCMSの設置フォルダ}/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の設置フォルダ}/theme/{テーマ名}/img/{IMG}

{baserCMSの設置フォルダ}/img/{IMG}

{baserCMSの設置フォルダ}/app/Plugin/{プラグイン名}/webroot/img/{IMG}

{baserCMSの設置フォルダ}/lib/Baser/webroot/img/{IMG}
  ↓
優先順位が低い

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

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

※ プラグインについては少しだけ複雑です。

優先順位が高い
  ↑
{baserCMSの設置フォルダ}/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
  ↓
優先順位が低い