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

Привязка элемента к разделу инфоблока

00 голосов
2
Здравствуйте!
Есть 2 инфоблока.
У элементов 1 инфоблока(id=43) задана привязка к разделу 2-го инфоблока(id=97). Код свойства interior.

Структура такая:
инфоблок id=43
раздел РАЗД-1
элемент ЭЛ-1
элемент ЭЛ-2
элемент ЭЛ-3

инфоблок id=97 символьный код = interior
раздел ЭЛ-1
элемент 1
элемент 2
раздел ЭЛ-2
элемент 3
элемент 4

Т. е. элемент из инфоблока с id=43 имеет то же название, что и привязанный к нему раздел из инфоблока с id=97.

Используется компонент catalog.element

Код
if(CModule::IncludeModule("iblock"))
// в $IDGroup получим id раздела текущего элемента 
{  
$sectres = CIBlockElement::GetElementGroups($arResult["ID"],true); 
while($ob = $sectres->Fetch()){
$IDGroup= $ob["ID"];}
echo $IDGroup;
   $sec=GetIBlockSection($IDGroup);

//выведем название текущего раздела и список его элементов из инфоблока с id=43

echo $sec['NAME'];
$APPLICATION->AddChainItem($sec['NAME']);

   // выберем папки из информационного блока $BID и раздела $IDGroup
   $items = GetIBlockElementList(43, $IDGroup, Array("sort"=>"asc"),0);
   echo '<ul>';
   while($arItem = $items->GetNext())
   {
     echo '<li><a href="/autosalon/detail.php?ID='.$arItem['ID'].'"> '.$arItem["NAME"].'</a> </li>';
   }
   echo '</ul>';


Дальше необходимо вывести список элементов из инфоблока с id=97 из определенного раздела, связанного с элементами из инфоблока с id=43.

Использую функцию GetIBlockElementList:

Код
$items = GetIBlockElementList(97, ID_связанного_раздела , Array("sort"=>"asc"));


Как получить этот ID_связанного_раздела?
спросил 24 Апр, 14 от Dayredo (180 баллов)

2 Ответы

00 голосов
Анна, лучше использовать CIBlockElement::GetList(). Так Вы сразу сможете получить значения свойств и, как следствие, ID раздела из инфоблока interior.
ответил 09 Дек, 14 от Pomnep (13,960 баллов)
00 голосов
а об CIBlockElement::GetList() возможно посмотреть здесь http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
ответил 01 Апр, 15 от EDKA (980 баллов)

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

+1 голос
1 ответ
0 голосов
7 ответов
спросил 20 Май, 13 от Sairys (160 баллов)
0 голосов
2 ответов
0 голосов
1 ответ
0 голосов
1 ответ