Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

как получить название раздела, зная его ID

00 голосов
3
Здравствуйте!

Помогите, пожалуйста, разобраться.
Имеется инфоблок (каталог товаров), элементы инфоблока - товары - располагаются в конечных папках (разделах).

Компонент bitrix:search.page (Стандартная страница поиска) выдает в результате поиска ссылку на элемент инфоблока, а как путь - путь к корневой папке инфоблока. Хотелось бы также выводить ссылку на раздел инфоблока, в котором размещается этот товар. Ссылка на раздел имеется (не сложно определить из атрибутов элемента инфоблока), а как получить название раздела - тут я затрудняюсь.

Вот такая задачка :)

Заранее благодарю.
спросил 16 Март, 14 от Santinel (180 баллов)

3 Ответы

00 голосов
Соберите все идентификаторы секций, затем 1м запросом выберете все с помощью CIBlockSection::GetList
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php

например
Код
$arResult["SECTION_INFO"] = array();
$obSection = CIBlockSection::GetList(array(), "ID"=>$arSectionID); // где $arSectionID собранный вами массив
while($arSection = $obSection->Fetch();)
   $arResult["SECTION_INFO"][$arSection["ID"]] = $arSection;
ответил 05 Сен, 14 от druid (580 баллов)
00 голосов
Михаил, большое спасибо за отклик.
Я, наверное, не совсем точно сформулировал.
Поскольку мной используется ЧПУ и адрес страницы с элементом содержит также символьный код названия раздела, то в результате поиска я имею не ID раздела, а его символьный код.

Не понял что вы понимаете под идентификаторами секций и для чего нужно их все собирать.
Нельзя ли как-то проще сделать путем обращения к нужной таблице базы денных, которая возможно содержит информацию о разделе (его ID, символьный код и название), и выборки названия раздела по его символьному коду ?

Попробовал использовать следующий код
Код
$obSection = CIBlockSection::GetList(array(), array("CODE"=>"символьный код"));
но в результате массив $obSection не содержал нужной информации.
ответил 11 Янв, 15 от Santinel (180 баллов)
00 голосов
Может ли кто-нибудь еще мне помочь :?:
ответил 28 Апр, 15 от Santinel (180 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
2 ответов
0 голосов
4 ответов
0 голосов
4 ответов