我有一个带有一些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模板中摆脱它?
答案 0 :(得分:1)
我最终找到了一个案例解决方案。您可以在控制器内部的操作方法结束时禁用组件(在$this->render()
被调用之前的任何位置):
$this->Components->unload('DebugKit.Toolbar');
答案 1 :(得分:1)
您还可以尝试为特定的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');
}
}
这将在特定控制器的索引函数中卸载调试组件