今回は、開発における TIPS をご紹介します。
BaserCMS では、CakePHP のネイティブなプラグインも利用できます。
CakePHP の開発において有用なプラグインと知られている DebugKit ですが、こちらも、もちろん利用可能です。
ただ、DebugKit を利用するには、利用コンポーネントに DebugKit.Toolbar を追加しなければなりません。その場合、AppController の componentsプロパティに設定を書くのが常套手段ですが、BaserCMS で AppController をカスタマイズするには、app ディレクトリ内に AppController をコピーして利用する必要があります。
これを行った場合、BaserCMS のバージョンアップの度に、同じ作業を行わなければバージョンアップの内容が反映されないので面倒です。
そこで、BaserCMS ではプラグインフックという仕組みが用意されていますので、
これを使い、AppController をカスタマイズせずに DebugKit を利用する方法を説明します。
プラグインフックとは、簡単にいうと「本体をカスタマイズせずにプラグイン側から本体に影響を与える仕組み」です。今回の例でいくと、「AppController をカスタマイズせずに AppController で読み込まれるコンポーネントを追加する」という事になります。
DebugKit を配置する
DebugKit のサイトよりパッケージをダウンロードし、解凍してできたフォルダを debug_kit にリネームします。そして、リネームしたフォルダを /app/plugins に配置します。
※ BaserCMS 1.6系では、debug_kit_1_2.zip をダウンロードしてください。
DebugKitHookComponent を配置する
次の内容を記述したファイル「debug_kit_hook.php」を、DebugKit の コンポーネントディレクトリに配置します。
<?php
class DebugKitHookComponent extends Object {
var $registerHooks = array('initialize');
function initialize(&$controller){
$controller->components[] = 'DebugKit.Toolbar';
$controller->Component->init($controller);
$controller->Toolbar->initialize($controller,array());
}
}
?>
DebugKit のプラグインフックを有効にする
プラグインフックは、BaserCMS で有効と認識されたプラグインのみ実行されます。
管理画面にログインし、システム設定 → プラグイン管理と画面をたどり、表示されている debug_kit の操作欄で「登録」をクリックします。
すると画面右上に DebugKit のツールバーが表示されます。
以上です。