@Historian111

Как при foreach вставлять класс active в меню сайта?

Добрый день. Немного практикуюсь в создании сайта, и встала небольшая проблемка с меню этого сайта.

При клике на кнопку, должен добавляться класс active, который выделяет нажатую кнопку.

Но меню я хочу полностью добавить в базу данных, для удобства изменения или добавления новых пунктов. И вот тут началась проблема, получаю я данные из БД,
прохожусь циклом и вывожу в нужных местах
<?php if(!empty($navLinks)):?>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <?php foreach ($navLinks as $navLink):?>
                <li><a href="<?= $navLink->href?>" class="scroll-to"><?= $navLink->name?></a></li>
                <?php endforeach;?>
            </ul>
        </div>
        <?php endif;?>


Все выводится классно, только вот выделяется только первая кнопка всегда, к остальным при переключении active не прилипает. Разрабатываю на Yii2. Может кто сталкивался с такой проблемой, задачей, помогите пожалуйста
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Используйте виджеты, которые предоставляет yii2, всё будет работать.
Например yii\widgets\Menu;
Получаете из базы данных все необходимые пункты меню, формируете их в массив и "скармливаете" в виджет.
Menu::widget([
    'items' => $items
])

Так же можно использовать NavBar
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы