Как вывести в массив $arResult элементы PROPERTIES?

Я еще не совсем понимаю как работают компоненты битрикс. Пытаюсь разобраться. Вопрос возник такой:

Есть компонент bitrix.furniture.vacancies. Вызывается таким образом:

$APPLICATION->IncludeComponent(
"bitrix:furniture.vacancies",
"vacancies",
Array(
	"CACHE_GROUPS" => "Y",
	"CACHE_TIME" => "3600",
	"CACHE_TYPE" => "A",
	"IBLOCK_ID" => "22",
	"IBLOCK_TYPE" => "vacancies"
));


В шаблоне вывода компонента хочу вывести свойства элементов с помощью $arResult["PROPERTIES"], но такой ветки в массиве $arResult нет.

Что нужно сделать чтобы появилась ветка $arResult['PROPERTIES']?
  • Вопрос задан
  • 2203 просмотра
Решения вопроса 1
PbI6A_KuT
@PbI6A_KuT Автор вопроса
В итоге внутри result_modifer.php сделал вот так:

foreach($arResult['ITEMS'] as $key=>$val) {	
	// записываем свойство CONDITIONS в массив $arResult
	$res = CIBlockElement::GetProperty(
		22,
		$val['ID'],
		"sort",
		"asc",
		array("CODE" => "CONDITIONS")
	);
	
	$i = 0;
	while ($ob = $res->GetNext()) {
		$arResult['ITEMS'][$key]['PROPERTIES']['CONDITIONS']['NAME'] = $ob['NAME'];
		$arResult['ITEMS'][$key]['PROPERTIES']['CONDITIONS']['VALUE'][$i++] = $ob['VALUE'];
    }
	
	// записываем свойство REQUIREMENTS в массив $arResult
	$res = CIBlockElement::GetProperty(
		22,
		$val['ID'],
		"sort",
		"asc",
		array("CODE" => "REQUIREMENTS")
	);
	
	$i = 0;
	while ($ob = $res->GetNext()) {
		$arResult['ITEMS'][$key]['PROPERTIES']['REQUIREMENTS']['NAME'] = $ob['NAME'];
		$arResult['ITEMS'][$key]['PROPERTIES']['REQUIREMENTS']['VALUE'][$i++] = $ob['VALUE'];
    }
}


И в шаблоне вывожу вот так:
<?php
foreach ($arResult['ITEMS'] as $key => $val):
  echo $val['NAME'];
  $val['PROPERTIES']['CONDITIONS']['NAME'];

  foreach($val['PROPERTIES']['CONDITIONS']['VALUE'] as $item):
    echo $item;
  endforeach;

endforeach;


Но может можно было покороче?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@LobsterMobster
Откройте страницу где вызывается ваш компонент - кликните параметры компонента, там есть выбор свойств?
Если есть, то выбирайте нужные зажав ctrl.
Если нет, то надо будет самому вытаскивать свойства через api битрикса
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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