Господа, помогите, пожалуйста, разобраться с этим замысловатым «продуктом» рук человеческих.
На сайте есть один информационный блок с двумя основными разделами. Пусть эти разделы соответственно называются «раздел А» и «раздел Б». В каждом разделе есть большое количество вложенных подразделов, главное, что их есть только 2 на самом верхнем уровне информационного блока – каждый из них это отдельное меню навигации.
Само меню – это стандартный компонент catalog.section.list с немного доработанным шаблоном, чтобы можно было выводить только один из нужных разделов каталога в произвольном месте страницы.
На странице это выглядит так:
[URL=http://topcen.ru/bitrix.gif]картинка[/URL]
В информационном блоке есть некое количество товаров, при этом один товар может относится к разным разделам. Допустим, некий товар был создан в категории [B]Товарный подраздел[/B] (Раздел А) и дополнительно прикреплен к разделу [B]Прочий подраздел[/B] (Раздел Б).
Собственно задача стоит в том, чтобы выделять активный пункт меню в зависимости от того в каком меню – левом или правом был выделен раздел.
Если мы, например, только что нажали на Товарный подраздел в левом меню, то мы пока еще остаемся на странице list.php?SECTION_ID=nn и при помощи простой проверки в шаблоне при выводе списка разделов мы можем проверить совпадает ли URL выводимого раздела при данном проходе цикла с тем разделом на котором мы сейчас находимся, таким образом выделить пункт меню несложно.
Однако, когда мы уже выбрали нужный нам товар из списка, то мы попадаем на страницу детального описания товара detail.php и информация о том в каком разделе мы находимся нам становится недоступна.
Допустим, мы можем узнать к какому разделу относится данный товар при помощи функции CIBlockElement::GetElementGroups($_REQUEST["ID"]), но
1. эта функция показывает только имя [NAME] раздела, а нам нужно бы узнать путь [PATH]
2. показывается только первостепенный раздел, то есть тот в котором товар был создан «физически», то есть если я выбрал [B]Прочий подраздел[/B] в правом меню, то информация о разделе мне выведется о [B]Товарном подразделе[/B] из левого меню.
Собственно и вопрос – а как же реализовать меню такого типа?
Кстати, в стандартном компоненте catalog.section.list отсутствуют какие-либо зачатки выделения активных пунктов меню – такое ощущение, что разработчики «продукта» активно борются с мыслью о том, что список разделов каталога может являться чуть ли не основным способом навигации по сайту.