Как отключить 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


Если вы хотите удалить с переднего плана, то это так:

  1. goto frontend / config / main-local.в PHP
  2. закомментировать эти две строки:

    $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();

вызовите этот фрагмент в своих представлениях.