У меня есть NavBar
и я хочу переопределить все классы, которые Yii накладывает на этот виджет. После поиска в гостинице Google и чтения документов я обнаружил, что этот код:
Yii::$container->set('yii\bootstrap\NavBar', [ 'containerOptions' => [ 'class' => '' ] ]); NavBar::begin([ 'containerOptions' => [ 'class' => 'no-horizontal-padding navbar-content' ] ]);
должен исключать (удалить, фактически) все классы в container
моего NavBar
, но это не так. Я продолжаю видеть свои 2 класса и классы NavBar
по умолчанию.
Как я могу удалить эти классы и сохранить только мои?
Пожалуйста, воздержитесь от любых хакерских решений, таких как удаление классов с помощью JS на стороне клиента. Я ищу правильный способ сделать это.
РЕДАКТИРОВАТЬ:
Я добавляю сгенерированный HTML в соответствии с запросом:
<nav id="w0" class="navbar-inverse navbar" role="navigation"> <div class="container-fluid no-horizontal-padding"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div id="w0-collapse" class="no-horizontal-padding navbar-content collapse navbar-collapse"> </div> </div> </nav>
Если вы хотите удалить collapse
и navbar-collapse
из коробки, используя параметры виджета, вы не сможете.
Как вы можете видеть в коде для компонента NavBar в Yii2 , эти классы жестко закодированы.
Ваши варианты:
Вот простой учебник для создания ваших компонентов и их использования.