запишу тут чтобы не потерять, как одним запросом достать предыдущий и следующий элемент в детальном просмотре элемента:
<? //в 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"]; ?> |