Установить класс в родительском и подменю в Laravel Bade View

Я хочу установить класс m-menu__item--open в родительском меню <li> и класс m-menu__item--active в пункте подменю <li> в моей базе Laravel на основе текущей страницы. Ниже приведен HTML, извлеченный из шаблона bade.

<li class="m-menu__item m-menu__item--open" aria-haspopup="true" m-menu-submenu-toggle="hover">
    <a href="javascript:;" class="m-menu__link m-menu__toggle">
        <i class="m-menu__link-icon flaticon-layers"></i>
        <span class="m-menu__link-text">FAQ</span>
        <i class="m-menu__ver-arrow la la-angle-right"></i>
    </a>
    <div class="m-menu__submenu " m-hidden-height="840">
        <span class="m-menu__arrow"></span>
        <ul class="m-menu__subnav">
            <li class="m-menu__item  m-menu__item--active" aria-haspopup="true">
                <a href="{{ url('/') }}/admin/faq/list/1" class="m-menu__link ">
                    <i class="m-menu__link-bullet m-menu__link-bullet--dot">
                        <span></span>
                    </i>
                    <span class="m-menu__link-text">English</span>
                </a>
            </li>
            <li class="m-menu__item  m-menu__item" aria-haspopup="true">
                <a href="{{ url('/') }}/admin/faq/list/2" class="m-menu__link ">
                    <i class="m-menu__link-bullet m-menu__link-bullet--dot">
                        <span></span>
                    </i>
                    <span class="m-menu__link-text">Korean</span>
                </a>
            </li>
            <li class="m-menu__item  m-menu__item" aria-haspopup="true">
                <a href="{{ url('/') }}/admin/faq/list/3" class="m-menu__link ">
                    <i class="m-menu__link-bullet m-menu__link-bullet--dot">
                        <span></span>
                    </i>
                    <span class="m-menu__link-text">Chinese</span>
                </a>
            </li>
        </ul>
    </div>
</li>

person Ahmed Numaan    schedule 16.08.2018    source источник


Ответы (1)


насколько я понимаю, вы хотите изменить классы меню по текущему URL-адресу.

laravel имеет метод is() в классе Request. Вы можете использовать его.

class="{{Request::is('category/products') ? 'm-menu__item--active' : 'm-menu__item--open'}}"

если ваш текущий URL-адрес base-url/category/products, вы получите класс m-menu__item--active

person Teoman Tıngır    schedule 16.08.2018