@IgorRastarov

Как вывести циклом все элементы в битрикс, не используя компоненты?

Всем привет.
Мне необходимо вывести список всех элементов инфоблока
и, в последствие, работать с ними.
Я не хочу использовать никакие компоненты, типа
new.list, catalog.elemnt и тд.
Вот мой код
<?
   if(CModule::IncludeModule("iblock")) 
   {  
   $arSelect = Array("ID", "NAME", "PROPERTY_CODE");
   $arFilter = Array("IBLOCK_ID"=>3, "ACTIVE"=>"Y");
   $res = CIBlockElement::GetList(Array("SORT"=>"DESC"), $arFilter, false, false, $arSelect);
   while($ob = $res->GetNextElement()) 
   {
    $arFields = $ob->GetFields();
   }
   }
?>

Как мне теперь построить цикл , чтобы вывести все элементы? По тому же имени напирмер.
Я думал через foreach
<?foreach ($arFields as $arColor):?>
<?echo $arColor["NAME"]?>
<?endforeach?>

Но не работает.
  • Вопрос задан
  • 2413 просмотров
Решения вопроса 1
AlexeyGfi
@AlexeyGfi
YouTube >>> Битриксоид из Колхоза
Возможно, вопрос должен был звучать так: "Мне необходимо получить список всех элементов инфоблока" (потому что непосредственно вывод вы организовали).
По вашему коду:
<?
if(CModule::IncludeModule("iblock")) 
{  
	$arSelect = Array("ID", "NAME", "PROPERTY_CODE");
	$arFilter = Array("IBLOCK_ID"=>3, "ACTIVE"=>"Y");
	
	$el_tree= array();
	
	$res = CIBlockElement::GetList(Array("SORT"=>"DESC"), $arFilter, false, false, $arSelect);
	while($ob_arr = $res->Fetch()) 
	{
		$el_tree[ $ob_arr[ 'NAME' ] ]= $ob_arr;
	}
	
	foreach ( $el_tree as $el_NAME => $el ) {
		echo 'NAME: ', $el_NAME, ' is <pre>', print_r( $el ), '</pre>';
	}
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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