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




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

0 голосов
Здравствуйте, подскажите как можно вывести св-ва привязанных элементов: есть элементы инфоблока1(объекты) сгруппированные по элементам инфоблока2(орентиры), как объектам добавить общее описание из орентиров.
спросил 17 Сен, 13 от Greyfur (120 баллов)

6 Ответы

0 голосов
Документации недостаточно?
Цитата
Так же есть возможность выбрать поля элементов по значениям свойства типа "Привязка к элементам". Для этого необходимо...
ответил 21 Сен, 13 от Eddie (2,060 баллов)
0 голосов
У инфоблока1(объекты) есть массив ID привязанных к нему инфоблоков. Передаешь ID GetIBlockElement, получаешь инфу по привязанному инфоблоку2 и выводишь где угодно :)
ответил 20 Дек, 13 от HavyMetal (140 баллов)
0 голосов
Спасибо, но если можно напишите пример кода с использованием "GetIBlockElement" сам пробовал не получается, не хватает опыта, работал только на стандартных компонентах.
ответил 04 Апр, 14 от Greyfur (120 баллов)
0 голосов
Код
<?
$IBLOCK_ID = "N"; //N - ID инфоблока компаний
$ID_ELEMENT = "S";//S - ID элемента
$arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE"=>"Y", "ID"=>$ID_ELEMENT);
if(CModule::IncludeModule("iblock"))
{
   $res = CIBlockElement::GetList(Array(), $arFilter, false, false, Array("ID", "NAME", "IBLOK_ID"));
   if($ob = $res->GetNext(false,false))
{
      $CO_NAME = $ob["NAME"];
      $CO_ID = $ob["ID"];
}
}
?>


вроде так у меня работает
ответил 27 Июль, 14 от 666KREVED (760 баллов)
0 голосов
Спасибо, попробую!
ответил 29 Ноя, 14 от Greyfur (120 баллов)
0 голосов
Всем большое спасибо, очень помогли, но сделал немного по другому через CIBlockElement::GetProperty.
Сделал ТАК:

Цитата

$NOM =$arElement["ID"];
$IBLOCK_ID = "16";
$ID_ELEMENT = "$NOM";
if(CModule::IncludeModule("iblock"))
{
$ar_props = CIBlockElement::GetProperty($IBLOCK_ID, $ID_ELEMENT, Array(), Array ("ID"=>"43"));
while ($ob = $ar_props->GetNext())
{
$res = $ob['VALUE'];
}
}
$IBLOCK_RES = "2";
$ID_ELEMENT_RES = "$res";
if(CModule::IncludeModule("iblock"))
{
$ar_res = CIBlockElement::GetProperty($IBLOCK_RES, $ID_ELEMENT_RES, Array(), Array ("ID"=>"133"));
while ($ob_res = $ar_res->GetNext())
{
$res_res = $ob_res['VALUE'];
}
print_r($res_res);
}
ответил 24 Март, 15 от Greyfur (120 баллов)

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