Решение, как сделать ссылки (кнопки) для перехода к следующей и предыдущей новости (элементу инфоблока) в 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>