Почему в начальной загрузке 4.1 оставленный в стороне значок меню, чтобы выпадающие пункты находились не на допустимом месте? - PullRequest
0 голосов
/ 21 января 2019

У меня есть левое меню с подменю в приложении laravel 5.7 / blade / Bootstrap 4.1 и если какой-то элемент подменю открыт Я хочу оставить открытым пункт родительского меню. Я пытался сохранить текущее имя элемента управления как:

<?php $manage_storage= ($current_controller_name == 'ClientsController'); ?>

<div class="sidebar-header">
    @if(isset($app_name))<h3>{{ $app_name }}</h3>@endif
</div>

<ul class="list-unstyled components">

    <li>
        <a href="#users_submenu" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle">Manage Users</a>
        <ul class="collapse list-unstyled" id="users_submenu">
            <li>
                <a href="#">Manage Departments</a>
            </li>
            <li>
                <a href="#">Manage Users</a>
            </li>
        </ul>
    </li>


    <li>
        <a href="#manage_storage_submenu" data-toggle="@if($manage_storage) dropdown @else collapse @endif" aria-expanded="@if($manage_storage) true @else false @endif" class="@if($manage_storage) @else dropdown-toggle @endif">Manage Storage</a>
        <ul class="collapse list-unstyled @if($manage_storage) show @endif" id="manage_storage_submenu">
            <li class=" @if($current_controller_name == 'ClientsController') active @endif ">
                <a href="{{ url('admin/clients') }}">Manage Clients</a>
            </li>
            <li>
                <a href="#">Manage Locations</a>
            </li>

            <li class=" @if($current_controller_name == 'WarehousesController') active @endif ">
                <a href="{{ url('admin/warehouses') }}" >Manage Warehouses</a>
            </li>

        </ul>
    </li>

Таким образом, если страница клиентов открыта, то должно быть открыто меню «Управление хранилищем».

Но это не работает, как я ожидал: Пожалуйста откройте : http://demo2.nilov -sergey-demo-apps.tk / администратора / склады / 2 / редактировать Это под учетными данными admin@demo.com 111111

посмотрите на http://demo2.nilov -sergey-demo-apps.tk / admin / dashboard и http://demo2.nilov -sergey-demo-apps.tk / admin / clients страниц для первой страницы (когда Управление хранилищем не открыто) значок выпадающего меню подменю находится в другом месте страницы: на второй странице (когда открыто Управление хранилищем) я не вижу значок для выпадающих пунктов подменю.

Как это исправить?

ОБНОВЛЕННЫЙ БЛОК № 1 Настройка

<li style="position: relative;">

Значок находится на своем месте, но «Управление хранилищем» не активируется. Я попробовал и не нашел никакой разницы с пунктом меню «Управление пользователями», который не имеет php-кода сам по себе и работает нормально. Что не так?

ОБНОВЛЕННЫЙ БЛОК № 2: Я проверил мой сгенерированный HTML-код под https://validator.w3.org и получил ошибку:

Error: Bad value  false  for attribute aria-expanded on element a.
From line 96, column 4; to line 96, column 112

ive;">↩         <a href="#manage_storage_submenu" data-toggle=" collapse " aria-expanded=" false " class=" dropdown-toggle "><span 

Я думаю, что ошибка вызывается пробелом в aria-extended = Definition, поскольку у меня был блейд-источник:

    <a href="#manage_storage_submenu" data-toggle="@if($manage_storage) dropdown @else collapse @endif" aria-expanded="@if($manage_storage) true @else false @endif" class="@if(!$manage_storage) dropdown-toggle @endif"><span style="text-decoration: underline">Manage Storage</span></a>

Но если я удаляю пробел в aria-extended = Definition, я получаю ошибку синтаксиса блейда. Может ли это поднять мои проблемы? Какой правильный путь здесь?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...