Как добавить активный класс в меню из db laravel 6 - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть пользовательское меню, которое я генерирую из базы данных, чтобы не вносить изменения в файл каждый раз, когда мне нужно добавить или удалить меню. Это предлагает мне большую гибкость. У меня проблема с назначением активного класса элементам li, когда пользователь выбирает меню. Например, у меня есть 3 уровня: mainmenu, submenu и sub-submenu. Я хочу, чтобы функция jquery работала таким образом, чтобы, если пользователь щелкает по подменю, тогда подменю, подменю и главное меню получают активный класс, если пользователь только щелкает по подменю, то подменю и главное меню должны иметь активный класс. Я пытался найти в Интернете несколько дней, но у меня нет никакого решения. Мой код html выглядит следующим образом:

                  <?php foreach ($menus as $menu) { ?>
                    <li class='mainmenu'>
                        <a>
                            <i class="{{ $menu->menu_icon }}"></i>
                            <span class="link-title menu_hide">&nbsp; {{ $menu->menu_name }}</span>
                            <span class="fa arrow menu_hide"></span>
                        </a>
                        <ul>
                            <?php foreach ($submenus as $submenu) { ?>
                            <?php if($submenu->is_level2 == '1' && $submenu->mainmenu_id == $menu->menu_id){ ?>
                            <li class="submenu">
                                <a href="javascript:;">
                                    <i class="fa fa-angle-right"></i>
                                    &nbsp; {{ $submenu->submenu_name }}
                                    <span class="fa arrow"></span>
                                </a>
                                <ul>
                                     <?php foreach ($subsubmenus as $subsubmenu) { ?>
                                        <?php if($subsubmenu->submenu_number == $submenu->submenu_number){ ?>
                                        <li class="subsubmenu">
                                            <a href="{{ url($subsubmenu->level2_link) }}">
                                                <i class="fa fa-angle-right"></i>
                                                &nbsp; {{ $subsubmenu->level2_name }}
                                            </a>
                                        </li>
                                        <?php } ?>
                                    <?php } ?>
                                </ul>
                            </li>
                            <?php } else { ?>
                                <?php if($submenu->mainmenu_id == $menu->menu_id){ ?>
                                <li class="submenu">
                                    <a href="{{ url($submenu->submenu_link) }}">
                                        <i class="fa fa-angle-right"></i>
                                        &nbsp; {{ $submenu->submenu_name }}
                                    </a>
                                </li>
                                <?php } } ?>
                            <?php } ?>
                        </ul>
                    </li>
                    <?php } ?>

Пожалуйста, попробуйте помочь мне получить подходящую функцию jquery для этого. Ваша помощь будет высоко оценена.

1 Ответ

1 голос
/ 24 апреля 2020

Это должно сработать.

Request::is('user/profile')
// Checks and returns true if current url is a match


<li class="@if(Request::is($subsubmenu->level2_link)) active @endif">
       <a href="{{ url($submenu->submenu_link) }}" >Dashboard</a>
</li>

Вы тоже можете использовать это.

class="@if(preg_match("/$module[0]/i",$uri)) active open @endif"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...