Как вывести значения свойств привязанных элементов в битриксе?

Здравствуйте!

Есть инфоблок-1, в котором включена привязка к элементам инфоблока-2. Задача в шаблоне news.detail инфоблока-1 вывести значения свойств привязанных элементов. Из инфоблока-2 необходимо вывести 3 свойства: ADDRESS (строка), PHONE (строка) и LOGO (файл).

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

Спасибо
  • Вопрос задан
  • 7872 просмотра
Пригласить эксперта
Ответы на вопрос 2
agmegadeth
@agmegadeth
Веб-разработчик в дизайн студии
как правило делается так:
в result_modifier шаблона news.detail нужно вызвать getlist, в котором получим нужные поля связанных элементов.

Пример:
$arSelect = Array("ID", "ACTIVE_TO"); //здесь перечисляем нужные поля из связанных элементов
$arFilter = Array("IBLOCK_ID"=>6, "ACTIVE"=>"Y","ID"=>$_GET["time_id"]); //$_GET["time_id"] - заменить на массив с твоими id связанных записей

$res = CIBlockElement::GetList(array("SORT" => "ASC"), $arFilter, false, Array("nPageSize"=>PHP_INT_MAX), $arSelect);

$time_items = array();
while($ob = $res->GetNextElement())
{
	$arFields = $ob->GetFields();
	$time_items[] = $arFields;
}

$arResult["TIME_ITEM"] = $time_items;


Ну и в template.php потом юзаешь $arResult["TIME_ITEM"]
И в документации внимательно читай раздел "arSelectFields" - там нужно соблюсти верный формат при получении параметров связанных элементов
Ответ написан
@thinksdifferent
Ваш способ показывает только id значения, далее нужно использовать GetByID

$res = CIBlockElement::GetByID($arResult["TIME_ITEM"]['0']['PROPERTY_USLUGI_ELEMENT_VALUE']);
if($ar_res = $res->GetNext())
echo $ar_res['NAME'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы