こんにちは。
かなり遅れてしまいましたが、以下の記事を拝見しました。
とてもスマートな方法ですね!
BaserCMS で DebugKit プラグインを利用する
http://basercms.net/develop/archives/5上記の方法を試したところ、僕の環境だけかもしれませんが、
Debug KitのCSSファイル、JSファイルの読み込み時に問題が発生しました。
DebugKitを使う際は当然、デバッグレベルを2以上に設定すると思いますが、
デバッグレベルが2以上の時に、DebugKitのCSSやJSの末尾にDBのログが追加されてしまいます。
この場合ブラウザによってはエラーが発生します。
(ChromeではDebugKitのJSでエラーが発生して正しく動きませんでした。)
どうやらBaserのroutes.phpを読み込む時にクエリが発生している為に、
plugin内の静的ファイルを出力する際にもログが添付されてしまうようです。
これはDebugKitに限らずほかのプラグインでも発生し得る問題だと思いますが、
運用時はそもそもDBのログは出力されませんのでほとんどの場合は気づかなさそうです。
とりあえず、DebugKitのリクエストが来た場合は、Baserのroutes.phpを読み込まないようにしましたが、
暫定対応なので、根本的な解決方法があればお教えいただけると幸いです。
以下は出力されたdebug_kit/js/js_debug_toolbar.jsです。
DEBUGKIT.Util.Event.domready(function () {
DEBUGKIT.loader.init();
DEBUGKIT.Util.Event.addEvent(window, 'unload', DEBUGKIT.Util.Event.unload);
});<table class="cake-sql-log" id="cakeSqlLog_12857336214ca2bcf5231b16_32926924" summary="Cake SQL Log" cellspacing="0" border = "0">
<caption>(baser) 3 queries took 9 ms</caption>
<thead>
<tr><th>Nr</th><th>Query</th><th>Error</th><th>Affected</th><th>Num. rows</th><th>Took (ms)</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>SELECT `Page`.`id` FROM `bc_pages` AS `Page` WHERE `Page`.`status` = 1 AND `Page`.`url` = '/debug_kit/js/js_debug_toolbar.js' LIMIT 1</td><td></td><td style = "text-align: right">0</td><td style = "text-align: right">0</td><td style = "text-align: right">3</td></tr>
<tr><td>2</td><td>SELECT `Page`.`id` FROM `bc_pages` AS `Page` WHERE `Page`.`status` = 1 AND `Page`.`url` = '/debug_kit/js/js_debug_toolbar.js/index' LIMIT 1</td><td></td><td style = "text-align: right">0</td><td style = "text-align: right">0</td><td style = "text-align: right">3</td></tr>
<tr><td>3</td><td>SELECT `PluginContent`.`name`, `PluginContent`.`plugin` FROM `bc_plugin_contents` AS `PluginContent` WHERE 1 = 1 </td><td></td><td style = "text-align: right">4</td><td style = "text-align: right">4</td><td style = "text-align: right">3</td></tr>
</tbody></table>
・環境
BaserCMS 1.6.0
PHP 5.3.1