Если нужно вывести все разделы, со всей доступной информацией о них, внутри элемента инфоблока, например в карточке товара каталога- можно воспользоваться API методом CIBlockElement::GetElementGroups
Например: У нас есть каталог товаров, элементы которого могут находиться сразу в нескольких разделах инфоблока. Внутри карточки товара, мы хотим вывести ссылки на все разделы, в которых эта каточка находится. Что бы пользователям-покупателям было удобно отбирать товары
Пусть, визуально, это будет выглядеть так. Настройки ЧПУ для разделов инфоблока /catalog/#SECTION_ID#/
Для этого достаточно вывести названия и ID всех разделов в которых находится товар и сверстать.
Воспользуемся API методом CIBlockElement::GetElementGroups.
$ElementId = $arResult['ID']; $db_groups = CIBlockElement::GetElementGroups($ElementId, true); while($ar_group = $db_groups->Fetch()) { echo 'Все товары: <a href="/catalog/'. $ar_group["ID"] . '/">'; echo $ar_group["NAME"]; echo "</a>"; }
В коде, я не использую фильтр, в $ar_group хранится вообще вся информация о разделах: картинка, символьный код, дата создания итд. Но вывожу только ID- для постороенния ссылки и название.
В общем-то и все, Остается это сверстать под свой дизайн.
![]()
Stanislav2636
|
Привет.
Интересное решение описывается в вашей статье. Но у меня ЧПУ #catalog/#SECTION_CODE#/ Видимо, поэтому и не работает. Не подскажете, какие правки в код внести, чтобы работало на SECTION_CODE ? |
![]()
Михаил Базаров
| ||||||
Поменять ID на SECTION_CODE, по идее он тоже сюда передается Или, получить SECTION_CODE зная ID раздела
| ||||||