【问题标题】:Remove DebugKit markup from a view从视图中删除 DebugKit 标记
【发布时间】:2016-04-13 09:20:48
【问题描述】:

我有一个带有一些 HTML 的 *.ctp 模板,旨在通过 CakePDF 插件转换为 PDF。在开发阶段,我将 CakePHP 调试级别设置为 2,这会导致所有 DebugKig 内容显示在渲染视图中:

<link rel="stylesheet" type="text/css" href="/debug_kit/css/debug_toolbar.css" />
<script type="text/javascript">
//<![CDATA[
window.DEBUGKIT_JQUERY_URL = "/debug_kit/js/jquery.js";
//]]>
</script><script type="text/javascript" src="/debug_kit/js/js_debug_toolbar.js"></script>
<div id="debug-kit-toolbar">[...]</div>

我不需要它,而且大多数 PDF 引擎都会使用它。有没有办法摆脱它,无论是在这个特定的视图中还是在所有的 PDF 模板中?

【问题讨论】:

    标签: cakephp cakephp-2.5 cakephp-debug-kit


    【解决方案1】:

    我最终想出了一个针对每个案例的解决方案。您可以在控制器内的操作方法末尾禁用组件(在调用 $this-&gt;render() 之前的任何位置):

    $this->Components->unload('DebugKit.Toolbar');
    

    【讨论】:

      【解决方案2】:

      您也可以尝试关闭这样的特定 pdf 控制器的调试模式

       public function beforeFilter() { 
          parent::beforeFilter();
          Configure::write('debug', 0);
       }
      

      你也可以卸载特定控制器或动作的 dubug 组件试试这个

      public function beforeFilter() {
          parent::beforeFilter();
          if(in_array($this->action, array('index'))) {
              $this->Components->unload('DebugKit.Toolbar');
          }
      }
      

      这将在特定控制器的索引函数中卸载调试组件

      【讨论】:

      • 感谢您的提示。但我还是想看看错误信息和其他调试信息。
      猜你喜欢
      • 1970-01-01
      • 2013-05-31
      • 2014-03-01
      • 2015-03-24
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 2015-04-09
      相关资源
      最近更新 更多