Делал подобное, но только по одной с двух сторон, типа предыдущая, следующая...
немного модифицируем
result_modifier.php
[CODE]<?
// сортировку берем из параметров компонента
$arSort = array(
$arParams["SORT_BY1"] => $arParams["SORT_ORDER1"],
$arParams["SORT_BY2"] => $arParams["SORT_ORDER2"],
);
$arSelect = array(
"ID",
"NAME",
"DETAIL_PAGE_URL",
);
$arFilter = array (
"IBLOCK_ID" => $arResult["IBLOCK_ID"],
"ACTIVE" => "Y",
"CHECK_PERMISSIONS" => "Y",
);
// выбирать будем по 3 соседа с каждой стороны от текущего
$arNavParams = array(
"nPageSize" => 3,
"nElementID" => $arResult["ID"],
);
$rsElement = CIBlockElement::GetList($arSort, $arFilter, false, $arNavParams, $arSelect);
$rsElement->SetUrlTemplates($arParams["DETAIL_URL"]);
$arResult['ITEMS'] = array();
while($obElement = $rsElement->GetNextElement()) {
$arItem = $obElement->GetFields();
if ($arItem['ID'] != $arResult["ID"]) $arResult['ITEMS'][] = $arItem;
else break;
}
?>
[/CODE]теперь в шаблоне есть $arResult['ITEMS'] с предыдущими, максимум тремя, новостями (заголовок, ссылка)