В шаблоне есть код для меню, которое берется из БД.
<div class="container-fluid p-0">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark sticky-top">
<a href="/" class="navbar-brand">
<img src="/images/Brand.png" height="50" alt="logo">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav align-content-between w-100">
{foreach $menu as $item}
{if ($item->isActive)}
<li class="nav-item m-auto active">
<a href="{$item->url}{$item->id}/" class="nav-link">{$item->label}</a>
</li>
{/if}
{/foreach}
</ul>
</div>
</nav>
Как сделать так что бы к тегу
function indexAction($smarty){
$menu = getItemsMenu();
$partners = getItemsPartners();
$smarty->assign('menu', $menu);
$smarty->assign('partners', $partners);
$smarty->assign('pageTitle', 'ТМТ Энерго');
loadTemplate($smarty, 'mainHeader');
loadTemplate($smarty, 'index');
loadTemplate($smarty, 'footer');
}
Используется шаблонизатор смарти, можно показать как это сделать в phtml и php, дальше сам разберусь.
Я бы проверял на совпадение ссылки с адресом страницы. Я не знаю как работать со Смарти, принцип опишу, если что поправишь как нужно.
{foreach $menu as $item}
{set elem_href = $item->url . $item->id}
{if ($item->isActive)}
{set ative = ''}
{if elem_href == this_url}
{set ative = 'active'}
{/if}
<li class="nav-item m-auto {active}">
<a href="elem_href/" class="nav-link">{$item->label}</a>
</li>
{/if}
{/foreach}
Как-то так. this_url
это адрес текущей страницы. Если нельзя его получить из шаблонизатора (всяко бывает), передай его из контроллера. И подставляй active
тому элементу, внутри которого у ссылки href
совпадает с текущим адресом.
P.S. $item->isActive
я не понял что у тебя делает и связан ли он как-то с... думаю, его можно будет убрать, если связан.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите пожалуйста, есть telegram botЕсть условие, если клиент написал "Привет" бот скидывает клиенту сообщения "Напишите ваше имя"
Установлен PHP 71, echo phpinfo() сообщает о подключенном драйвере SQLite
вообщем в чем проблема есть сайт на вп нужна структура ссылок ЧПУ состояющая из таксономийСразу говорю что статью подсмотрел на каме, под...
Мне надо хранить в классе соответствия между строками и числамиПорядок не важен, поэтому хочу использовать std::unordered_map, причём строки должны...