如何在特定视图上禁用yii-debug-toolbar
,尤其是在部分渲染视图上?
这可能吗?
P.S。遗憾的是,Yii-debug-toolbar
不会作为下面的标记存在。
答案 0 :(得分:40)
将它放在您的布局或视图文件中:
if (class_exists('yii\debug\Module')) {
$this->off(\yii\web\View::EVENT_END_BODY, [\yii\debug\Module::getInstance(), 'renderToolbar']);
}
这将删除从布局末尾运行的事件中呈现工具栏的回调,其中您有$this->endBody()
。
答案 1 :(得分:8)
只需从/config/web.php
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
答案 2 :(得分:6)
public function beforeAction($action) {
if ( $action->controller->id=='elfinder' && Yii::$app->getModule('debug') )
Yii::$app->getModule('debug')->instance->allowedIPs = [];
return parent::beforeAction($action);
}
答案 3 :(得分:4)
我找到了更好的方法。把它放在任何地方:
Yii::$app->log->targets['debug'] = null;
这不会在/ runtime / debug
中生成文件答案 4 :(得分:0)
如果你想从前端删除,那就是这样:
主要-local.php 强>
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
这将从前端删除调试栏。
答案 5 :(得分:-1)
从config/web.php
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
答案 6 :(得分:-1)
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
注释上面的代码行。这对我有用。在前端和后端执行此操作以在网站的页脚处禁用该调试工具或模块。
答案 7 :(得分:-7)
如果您不想显示日志,可以使用jQuery隐藏yii-debug控制台
$('#ydtb-toolbar').hide();
在您的观看次数上调用此代码段。