Хочу понять вот что. Есть древовидное меню с тремя уровнями вложенности:
1 уровень 1 уровень(родитель) --2 уровень --2 уровень(родитель) ------3 уровень ------3 уровень --2 уровень --2 уровень 1 уровень 1 уровень
Необходимо чтобы после перезагрузки страницы родительские уровни все были открыты, т.е. чтобы у них не было класса close после загрузки страницы. Соорудил проверку пунктов на "выбранность" с помощью условия <?if ($arItem["PERMISSION"] > "D"):?><?if ($arItem["SELECTED"]):?> (опечатался, извините):
Но при переходе, к примеру на пункт третьего уровня "3 уровень" к пунктам-родителям первого и второго уровней "1 уровень(родитель), 2 уровень(родитель)" нужные классы не применяются, хотя при переходе на эти пункты условия прорабатываются и нужный класс к ним прибавляется.
Подскажите пожалуйста, это нужно реализовывать в шаблоне, или нужна настройка структуры? Меню формируется из торгового каталога с разделами и подразделами имеющими три уровня вложенности. Спасибо за Ваши ответы.
Профессионально занимаюсь версткой и интеграцией оной в шаблон «1С-Битрикс» beskrovnyy.com
Евгений Бескровный пишет: <?if ($arItem["PERMISSION"] > "D"):?>
проверяет, имеет ли пользователь право доступа к разделу или странице, на которые ссылается пункт меню. Вашу проблему не решает ни разу. Каким компонентом формируете меню? bitrix:menu.sections? Используете ли ЧПУ?
Не надо сверлить зубы через задний проход дрелью от Сваровски
Евгений Бескровный пишет: Да, Евгений, меню формируется bitrix:menu.sections чпу не используется.
Понятно. Ну, тогда так, пожалуй. В result_modifier.php bitrix:menu (НЕ bitrix.menu.sections!) проходите по массиву менюхи для поиска пункта с SELECTED == true, потом от него к вершине и отмечаете все найденные тоже как SELECTED. Естественно, в настройках bitrix:menu должен быть выставлен пункт "Разрешать несколько активных пунктов меню".
Не надо сверлить зубы через задний проход дрелью от Сваровски