У меня есть левое меню с подменю в приложении 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, я получаю ошибку синтаксиса блейда. Может ли это поднять мои проблемы? Какой правильный путь здесь?
Спасибо!