GetNextElement

Пример использования nElementID

20.07.2013 Bitrix, php скрипты , ,

        $arSort = array( // сортировка из параметров компонента
			$arParams["SORT_BY1"]=>$arParams["SORT_ORDER1"],
			$arParams["SORT_BY2"]=>$arParams["SORT_ORDER2"],
		);
		$arSelect = array( // выбирать будем несколько необходимых полей
			"ID",
		);
		$arNavParams = array(
			"nPageSize"		=> 1, // выбираем по 1 элементу с каждой стороны от текущего
			"nElementID"	=> $GLOBALS['arFiltr']['ID'], // тот элемент, соседей которого ищем
		);




		$arItems = Array();
		$rsItems = CIBlockElement::GetList($arSort, array('IBLOCK_ID'=>$arParams["IBLOCK_ID"]), false, $arNavParams, $arSelect);
		$rsItems->SetUrlTemplates($arParams["DETAIL_URL"]);
		while($obItem = $rsItems->GetNextElement()) {
			$arItem = $obItem->GetFields();
			$arItems[] = $arItem;
		}




		if(count($arItems)==3){ // если выборка вернула 3 элемента, значит есть оба соседа
			$arResult["PREV_NEXT_NAV"]["PREV_ITEM"] = $arItems[0];
			$arResult["PREV_NEXT_NAV"]["NEXT_ITEM"] = $arItems[2];
		}elseif(count($arItems)==2){ // если 2 - то соседний элемент только 1
			if($arItems[0]["ID"]!=$arResult["ID"]){			// определяем, слева он или справа
				$arResult["PREV_NEXT_NAV"]["PREV_ITEM"] = $arItems[0];
			}else{
				$arResult["PREV_NEXT_NAV"]["NEXT_ITEM"] = $arItems[1];
			}
		}

Вывод всех свойств и всех полей

26.03.2012 Bitrix No comments

Вывод всех свойств и всех полей

$res = CIBlockElement::GetByID($_GET["PID"]);
if($obRes = $res->GetNextElement())
{
 
  $arPurFields = $obRes -> GetFields();
  $arPurProperties = $obRes -> GetProperties();
  
}