機能の拡張
提供: baserCMS公式ガイド
ここでは、baserCMSのカスタマイズ、機能追加について簡単にご説明します。
新しいコントローラーやモデル、ビューを追加する
CakePHPの通常の開発と同じように、{baserCMSの設置フォルダ}/app フォルダ内にコントローラーやモデル、ビューを配置していきます。
新しいコントローラーやモデル、ビューを管理画面として実装する
管理画面として実装する場合のポイントは3点です。
- コントローラーに、Auth / Cookie / AuthConfigure の3つコンポーネントを設定する
var $components = array('Cookie', 'BcAuth', 'BcAuthConfigure');
- コントローラーに、ぱんくずナビ用プロパティを定義する(必要な場合のみ)
var $crumbs = array(array( 'name' => '表示テキスト', 'url' => array('controller' => '追加したコントローラ名', 'action' => 'アクション名') ));
- コントローラーに、サブメニュー用プロパティを定義する(必要な場合のみ)
var $subMenuElements = array('サブメニューテンプレート名','サブメニューテンプレート名');
機能の実装が完了したら、システムナビにメニューを追加する、を参考に、リンクを追加してあげましょう。
baserCMSの機能を上書きする
baserCMSのクラスファイルや、テンプレートファイルは、全て {baserCMSの設置フォルダ}/lib/Baser フォルダに分離されており、app フォルダの同階層に、同じファイル名で配置するとそちらのファイルが読み込まれるようになっています。
【注意点】
ビューテンプレートでもそうですが、クラスファイルの場合、 同名のファイルを作成するという時点で、継承ではなく、もちろん、クラスの完全な上書きとなってしまいます。
その場合、Baser フォルダから上書き対象のファイルをコピーした上で、そのファイルに元のクラスのメソッドが定義されていなければ、メソッドの未定義エラーが発生する可能性があります。
また、baserCMSがバージョンアップした場合に、そのファイルに変更があった場合はバージョンアップの恩恵が受けられなくなってしまいます。
baserCMSの開発ポリシーにあう内容であれば、随時フィードバックとして取り込ませて頂きたいと思いますので、ユーザーフォーラムにフィードバック依頼をお寄せください。