Постраничная навигация на странице детального просмотра в Битрикс

Решение, как сделать ссылки (кнопки) для перехода к следующей и предыдущей новости (элементу инфоблока) в 1С-Битрикс на детальной странице

На детальной странице новости или на карточке товара в каталоге, сделать кнопки (ссылки) перехода на следующую или предыдущую страницу. 

Рассмотрим на примере комплексного компонента bitrix:news, редактируем шаблон детальной страницы news.detail:

1  Файл result_modifier.php

$items_prev = CIBlockElement::GetList(
       Array("ID"=>"DESC"),
       Array("IBLOCK_ID"=>$arResult["IBLOCK_ID"], "ACTIVE"=>"Y", "<ID"=>$arResult["ID"]),
       false,
       Array("nTopCount"=>1),
       Array("DETAIL_PAGE_URL", "NAME")
);
$arResult['PREV_POST'] = $items_prev->GetNext();


$items_next = CIBlockElement::GetList(
       Array("ID"=>"ASC"),
       Array("IBLOCK_ID"=>$arResult["IBLOCK_ID"], "ACTIVE"=>"Y", ">ID"=>$arResult["ID"]),
       false,
       Array("nTopCount"=>1),
       Array("DETAIL_PAGE_URL", "NAME")
);
$arResult['NEXT_POST'] = $items_next->GetNext();

2 Файл template.php

<div class="post-next-prev">
	<?if($arResult['PREV_POST']):?>
		<div class="post-prev"><a href="/<?=$arResult['PREV_POST']['DETAIL_PAGE_URL']?>" title="<?=$arResult['NEXT_POST']['NAME']?>">Следующая новость →</a></div>
	<?endif?>
	<?if($arResult['NEXT_POST']):?>
		<div class="post-next"><a href="/<?=$arResult['NEXT_POST']['DETAIL_PAGE_URL']?>" title="<?=$arResult['PREV_POST']['NAME']?>">← Предыдущая новость</a></div>
	<?endif?>
</div>
Продолжая использовать веб- сайт beta-code.ru, вы даете согласие на обработку файлов cookie, пользовательских данных (сведения о местоположении; тип и версия ОС; тип и версия Браузера; тип устройства и разрешение его экрана; источник откуда пришел на сайт пользователь; с какого сайта или по какой рекламе; язык ОС и Браузера; какие страницы открывает и на какие кнопки нажимает пользователь; ip-адрес) в целях функционирования сайта, проведения ретаргетинга и проведения статистических исследований и обзоров. Если вы не хотите, чтобы указанные данные обрабатывались, покиньте сайт.
Принять