Здравствуйте. В шаблоне есть код для меню, которое берется из БД.
<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>
</div>
Как сделать так что бы к тегу добавлялся class = "active" если пользователь находится на данной странице?
{if ($item->isActive)} это проверка, выводить этот пункт меню или нет.
Если понадобится код с контроллера
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, дальше сам разберусь.