Активный раздел в компоненте catalog.section.list
184
Часто в Битрикс необходимо вывести меню через компонент catalog.section.list, а текущий раздел, где находится пользователь - выделить. Для того чтобы выделить активный пункт текущего раздела, необходимо в шаблоне компонента catalog.section.list разместить следующий код: <?foreach ($arResult['SECTIONS'] as &$arSection): //проверяем на активность $cur_page = $APPLICATION->GetCurPage(false); $is_active = ($arSection['SECTION_PAGE_URL'] == $cur_page || strpos($cur_page,$arSection['SECTION_PAGE_URL'])!==false)?" active":""; ?> <a class="Link <?if($is_active):?> active<?endif;?>" href="<?=$arSection['SECTION_PAGE_URL']?>"> <?=$arSection['NAME'];?> </a> <?endforeach;?> Метод $APPLICATION->GetCurPage(false) возвращает путь к текущей странице относительно корня. А указанный в нем параметр false - удаляет из возвращаемого url страницы index.php (вернется подстрока от 0-й позиции до первого встретившегося "/index.php") В переменной $is_active сравниваем с SECTION_PAGE_URL - ссылку категории, с текущей ссылкой адресной строки ИЛИ найдем вхождение ссылки категории с помощью strpos(). Далее $is_active вернет нам true или false, исходя из условия добавляем ссылке активный класс - active. Помощь проекту
Привет, меня зовут Вика! Я являюсь автором сайта Weblim.
Если Вам помогла данная статья, вы можете отблагодраить меня перечислив любую денежную сумму. Заранее спасибо! |
Последние записи
|