запишу тут чтобы не потерять, как одним запросом достать предыдущий и следующий элемент в детальном просмотре элемента:
<?
//в result_modifier.php элемента
$arOrder = array("timestamp_x" => "desc"); // упорядочиваем как и в разделе.
$arSelect = Array("ID", "NAME","DETAIL_PAGE_URL");
$arFilter = Array("IBLOCK_ID"=>$arParams["IBLOCK_ID"], "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
$res = CIBlockElement::GetList($arOrder, $arFilter, false, array("nPageSize" => "1","nElementID" => $arResult["ID"]), $arSelect);
//"nPageSize" - количество элементов на странице при постраничной навигации
//"nElementID" - ID элемента который будет выбран вместе со своими соседями. Количество соседей определяется параметром nPageSize.
while($ob = $res->GetNext())
{
$arFields[] = $ob;
}
$arResult["RIGHT_ARROW"]["LINK"] = str_replace("#ELEMENT_ID#",$arFields["2"]["ID"],$arFields["2"]["DETAIL_PAGE_URL"]);
$arResult["RIGHT_ARROW"]["NAME"] = $arFields["2"]["NAME"];
$arResult["LEFT_ARROW"]["LINK"] = str_replace("#ELEMENT_ID#",$arFields["0"]["ID"],$arFields["0"]["DETAIL_PAGE_URL"]);
$arResult["LEFT_ARROW"]["NAME"] = $arFields["0"]["NAME"];
?>
|