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

Не могу понять как выводить значения множественных связанных элементов. Помогите, пожалуйста.

00 голосов
1
Есть инфоблок, в котором хранится связь (свойство - PLAY_LIST) с элементом другого инфоблока. Если свойство в котором хранится связь не множественное, то делаю вот так:


Код

<?if($arItem["DISPLAY_PROPERTIES"]["PLAY_LIST"]["VALUE"]):?>
<?
//$path = CFile::GetPath($arItem["DISPLAY_PROPERTIES"]["PLAY_LIST"]["VALUE"]);

$path = '';

//var_dump($arItem["DISPLAY_PROPERTIES"]["PLAY_LIST"]["VALUE"]);

$db_props = CIBlockElement::GetProperty(5, $arItem["DISPLAY_PROPERTIES"]["PLAY_LIST"]["VALUE"], "sort", "asc", Array("CODE"=>"FILE")); // , Array("CODE"=>"FILE")
/*while($ar_props = $db_props->Fetch()){
   var_dump($ar_props);
}
*/
if($ar_props = $db_props->Fetch()){
   $path = CFile::GetPath(IntVal($ar_props["VALUE"]));
//   var_dump($path);
}

?>
<b>PLAY_LIST: </b><span id="schedule_rs"><a href="<?=$path?>">schedule_rs</a></span>
<?endif;?>



Все работает. Не могу понять как быть, если свойство (PLAY_LIST), в котором, хранится связь - множественное. Т.е. необходимо выводить множественные значения.



Подскажите, пожалуйста, решение. Очень надеюсь, что правильно сформулировал задачу.
спросил 20 Март, 14 от Mango (260 баллов)

1 Ответ

00 голосов
В случае множественного значения у вас в ["PLAY_LIST"]["VALUE"] будет массив и CIBlockElement::GetProperty() работать не будет.
Попробуйте сделать через CIBlockElement::GetList(). Примерно так (код не проверялся):

Код
<?
$arSelect = Array("ID", "IBLOCK_ID", "PROPERTY_FILE");
$arFilter = Array("IBLOCK_ID"=>5, "ID"=>$arItem["PROPERTIES"]["PLAY_LIST"]["VALUE"]);

$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement()){
   $arProps = $ob->GetProperties();
   print_r($props);
}?>

PS. Лучше всю программную часть делать не в самом шаблоне, а в result_modifier.php
ответил 14 Сен, 14 от smileplz (8,020 баллов)

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

+1 голос
2 ответов
0 голосов
2 ответов
0 голосов
1 ответ
0 голосов
3 ответов
0 голосов
2 ответов
спросил 29 Ноя, 13 от guk (360 баллов)