Как сделать следующий и предыдущий товар с учетом сортировки в подробном просмотре?
Вот мой код:
$_sort = isset($_GET['SORT']) ? $_GET['SORT'] : 'NAME'; /*получаем из GET, если сортировка есть - вывести, иначе по имени*/
$_order = isset($_GET['ORDER']) && $_GET['ORDER']=='DESC' ? 'DESC' : 'ASC'; /*получаем из GET, если порядок сортировки по убыванию есть - вывести, иначе по возрастанию*/
$sort_url = 'sort=' .$_sort.'&order='. $_order; /* Подставляем эти параметры в $sort_url */
$res = CIBlockElement::GetList(
array("$_sort" => $_order),
Array("IBLOCK_ID" => $arResult['IBLOCK_ID'], "SECTION_ID" => $arResult['IBLOCK_SECTION_ID'], "ACTIVE" => "Y" ),
false,
array("nPageSize" => "1","nElementID" => $arResult["ID"]),
Array("ID", "NAME","DETAIL_PAGE_URL")
);
$navElement = array();
while($ob = $res->GetNext()){
$navElement[] = $ob;
}
Кнопки:
<a onclick="history.back(); return false;" href="<?=$navElement[0]['DETAIL_PAGE_URL']?>?<?=$sort_url?>">Вернуться назад</a>
<a href="<?=$navElement[2]['DETAIL_PAGE_URL']?>?<?=$sort_url?>">Следующий товар</a>
Сейчас перелистывание работает некорректно. Скажите, в чём может быть причина?