Как отключить Yii-debug-toolbar в определенном представлении?
Как я могу отключить yii-debug-toolbar
на конкретном представлении, особенно на частичных визуализированных представлениях?
это возможно?
п.С. Yii-debug-toolbar
нет, к сожалению, не существует в качестве тега ниже.
8 ответов
поместите это в свой макет или файл представления:
if (class_exists('yii\debug\Module')) {
$this->off(\yii\web\View::EVENT_END_BODY, [\yii\debug\Module::getInstance(), 'renderToolbar']);
}
это удаляет обратный вызов, который отображает панель инструментов из события, которое выполняется в конце макета, где у вас есть $this->endBody()
.
просто удалите или прокомментируйте эти две строки из /config/web.php
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
public function beforeAction($action) {
if ( $action->controller->id=='elfinder' && Yii::$app->getModule('debug') )
Yii::$app->getModule('debug')->instance->allowedIPs = [];
return parent::beforeAction($action);
}
Я нашел лучший способ. Положите Это В Любом Месте:
Yii::$app->log->targets['debug'] = null;
и это не делает файлы в/runtime / debug
Если вы хотите удалить с переднего плана, то это так:
- goto frontend / config / main-local.в PHP
-
закомментировать эти две строки:
$config ['bootstrap'] [] = 'debug';
$config ['modules'] ['debug'] = 'yii\debug\Module';
это удалит панель отладки из интерфейса.
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
закомментировать строки кода выше. это сработало для меня. Это сделать в frontend и backend, чтобы отключить этот инструмент отладки или модуль в футере сайта.
удалить из config/web.php
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
Если вы не хотите показывать журнал, вы можете скрыть консоль Yii-debug с помощью jQuery
$('#ydtb-toolbar').hide();
вызовите этот фрагмент в своих представлениях.