CakePHP的DebugKit资产未加载

时间:2014-11-15 20:11:35

标签: cakephp plugins url-rewriting

现在我知道已经有了解决方法,我可以将资产复制到项目自己的webroot。然而,可能会稍微这样做。 。 。

我想知道为什么我会继续遇到这个问题。我在AssetDispatcher代码中查找并在其中放置了一些CakeLog :: write()语句,当我调用页面时,调度程序只被调用一次。不应该要求每个被请求的资产吗?是否有另一个文件处理除了我可以看到的这个类以外的资产的调度?

我有一个全新安装的cakephp 2.5.5和DebugKit 2.2.4

我按照如何加载插件的说明进行操作,实际上php代码正在看插件并尝试加载它。它只是没有正确显示,因为它无法在插件中找到css和js。

我做了一些搜索,发现有些事情说明插件的加载顺序以及带有bootstrap.php文件的调度程序的顺序在这里很重要。我在这里使用全新安装的cakephp,该订单已经存在。加载DebugKit,然后加载调度程序。

大多数情况下,我可以在如何调试调度程序方面使用一些帮助,因为这似乎是问题所在。从来没有必须触摸这些。蛋糕书提供了有关如何编写自己的一般信息,但我对这里的生命周期更感兴趣。

或者更像我正在使这个过于复杂,这里有一个更容易的事情来解决这个问题。任何信息都表示赞赏。

我已经在下面的DebugKit的初始设置中包含相关代码,以防我错过了一些简单或忽略了我认为已经完成的事情。

应用程序/配置/ bootstrap.php中

CakePlugin::load( 'DebugKit' );
Configure::write('Dispatcher.filters', array(
    'AssetDispatcher',
    'CacheDispatcher'
));

应用程序/控制器/ AppController.php

$components = array( 'DebugKit.Toolbar' );

应用程序/视图/布局/ default.thtml中 文件底部

                        <p>
                            <?php echo $cakeVersion; ?>
                        </p>
                </div>
        </div>
</body>
</html>

这些是蛋糕难以解决的路径

/debug_kit/css/debug_toolbar.css
/debug_kit/js/js_debug_toolbar.js
/debug_kit/image/cake.icon.png

这些是蛋糕生成的网址

2 个答案:

答案 0 :(得分:1)

以下是您遵循的步骤:

  1. 安装CakePHP并检查安装。

  2. 下载最新的DebugKit 2.2.1,它与Cake 2.4

  3. 兼容
  4. 将内容复制到cake / plugins / DebugKit文件夹。

  5. 在app / Config / bootstrap.php中调用CakePlugin::load('DebugKit');

  6. 通过在AppController.php类中调用public $components = array('DebugKit.Toolbar');来包含工具栏组件

  7. 在app / Config / core.php中设置Configure::write('debug', 1);

  8. 从app / View / Layouts / default.ctp

  9. 中的布局中删除'sql_dump'元素
  10. 在app / webroot / debug_kit /

  11. 中复制app / Plugin / DebugKit / webroot /的所有内容(文件夹'css','js','img')

答案 1 :(得分:1)

升级到最新的CakePHP之前我遇到了同样的问题。我通过在bootstrap.php中添加以下代码来解决它:

Configure::write('Dispatcher.filters', array(
    'AssetDispatcher',
    'CacheDispatcher'
));

升级到最新版本时,还需要检查index.php和htaccess文件是否有变化。