Пролог:Для наглядности сразу пример.
Есть 3 раздела инфоблока -
мужское, женское, бренды.Допустим, товар лежит в женском в подразделе
"футболки". Если открыть редактирование товара, там есть вкладка
"Группа", в которой одно поле -
"Разделы", и вот в нем можно выбрать к каким разделам относится данный товар. Т.е. он лежит в
женское->футболки, а так же в
бренды->бренд.
Проблема в том, что если убрать активность какого-либо бренда в брендах, то на сайте в разделе "бренды" товаров у данного бренда не будет, но если открыть женские товары - то товары этого бренда отображаются.
Тело вопроса:Реализация такая - отображение товаров и в брендах и в женской одежде (имеется ввиду каталог (меню) на сайте) - это компонент
catalog.section.Только вот в брендах он находится в новостном модуле вроде, а в женском вроде в каталоге.
Вобщем, когда идет отображение
catalog.section в брендах, там объявлена глобальная переменная
$BRAND, которая в зависимости от URL (вроде) -
(CComponentEngine::ParseComponentPath) определяет какой бренд и выводит по нему нужную информацию, в т.ч. активность.
Но из-за того, что это реализовано так:
| Код |
|---|
$arParams["SEF_FOLDER"]='/brands/';$arUrlTemplates=array(
'sections' =>'',
'section' => '#SECTION_CODE#.html',
'element' => '#CAT_SECTION#/#SECTION_CODE#.html',
'compare' => 'compare/'
);
$componentPage = CComponentEngine::ParseComponentPath(
$arParams["SEF_FOLDER"],
$arUrlTemplates,
$SEF
);
global $BRAND;
$BRAND=xTools::GetIBlockElementByCode($SEF['SECTION_CODE'],$xCat->brand_IBLOCK_ID); |
Я не могу достать эти значения брендов в женском каталоге.
Но связь же между ними есть - это именно "Группы"
Эпилог:
Только вот в коде не могу найти эти
группы.
Вопрос -
catalog.section как-то их показывает? Огромный массив элемента вывожу - а кода раздела бренда, например, не нахожу, а сам бренд повторяется по 10 раз, т.к. так это XML из 1с-предприятия отправляется и парсится, бренд так же написан в реквизитах. Но что-бы был какой-то подмассив, в котором, как в группе, 2 занчения - "футболка" и "бренд", я не нашел.