Если необходимо сделать ссылку на предыдущйю и следующую новость в Битриксе делаем так
Для этого в шаблон компонета news.detail или catalog.element нужно вставить код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<? /* Фильтр записей инфоблока (если используется рабиение по разделам, то к фильтру нужно добавить "SECTION_ID" => $arResult['IBLOCK_SECTION_ID']) */ $arFilter = array("IBLOCK_ID" => $arResult['IBLOCK_ID']) // Выбиреам записи rs = CIBlockElement::GetList(array("SORT"=>"ASC"),$arFilter,false,false,array('ID','NAME','DETAIL_PAGE_URL')); $i=0; while ($ar = $rs -> GetNext()) { $arNavi[$i] = $ar; // Если ID полученной записи равен ID новости которая отображается, то запоминаем ее номер if ($ar['ID'] == $arResult['ID']) $iCurPos = $i; $i++; } // Заполняем массив информацией о следующей и предыдущей записи // Ключ предыдущего элемента будет [$iCurPos - 1] // Ключ следующего элемента будет [$iCurPos + 1] // Если элементы массива с этими ключами существуют то сохраняем их, иначе осталяем пустыми // $arLink - массив со ссылками на след и предыд новости $arLink = array(); $arLink['PREVIOUS'] = isset($arNavi[$iCurPos - 1]) ? $arNavi[$iCurPos - 1] : ''; $arLink['NEXT'] = isset($arNavi[$iCurPos+1]) ? $arNavi[$iCurPos+1] : ''; ?> |
И затем выводим в нужном месте
1 2 3 4 5 6 7 8 9 10 11 12 |
<? // Если есть предыдущий элемент то выводим ссылку if (is_array($arLink['PREVIOUS'])) { echo '<a href="'.$arLink['PREVIOUS']['DETAIL_PAGE_URL'].'">Предыдущая</a>'; }?> <? // Если есть следущий элемент то выводим ссылку if (is_array($arLink['NEXT'])) { echo '<a href="'.$arLink['NEXT']['DETAIL_PAGE_URL'].'">Следующая</a>'; }?> |