Следующий и предыдущий товар
В файле local/templates/THEME/components/bitrix/catalog.element/.default/result_modifier.php надо добавить следующий код, который выбирает текущий и соседние товары.
# local/templates/THEME/components/bitrix/catalog.element/.default/result_modifier.php // Фильтр $filter = array( 'IBLOCK_ID' => $arParams['IBLOCK_ID'], 'SECTION_ID' => $arParams['SECTION_ID'], 'SECTION_CODE' => $arParams['SECTION_CODE'], 'ACTIVE' => 'Y', 'ACTIVE_DATE' => 'Y', 'SECTION_GLOBAL_ACTIVE' => 'Y' ); // Сортировка $order = array( $arParams['OFFERS_SORT_FIELD'] => $arParams['OFFERS_SORT_ORDER'], $arParams['OFFERS_SORT_FIELD2'] => $arParams['OFFERS_SORT_ORDER2'] ); // Выборка текущего и соседних товаров $nav = array( 'nElementID' => $arResult['ID'], 'nPageSize' => 1 ); $end = false; $db_res = CIBlockElement::GetList($order, $filter, false, $nav); while ($res = $db_res->GetNext()) { if ($res['ID'] == $arResult['ID']) { $end = true; } elseif ($end) { $arResult['NAV']['NEXT'] = $res; } else { $arResult['NAV']['PREV'] = $res; } }
Теперь в шаблоне доступен массив $arResult['NAV']
, внутри которого содержится предыдущий и следующий товар.
<!-- local/templates/THEME/components/bitrix/catalog.element/.default/template.php --> <!-- Предыдущий товар --> <?php if ($arResult['NAV']['PREV']): ?> <a href="<?=$arResult['NAV']['PREV']['DETAIL_PAGE_URL']?>"><?=$arResult['NAV']['PREV']['NAME']?></a> <?php endif; ?> <!-- Следующий товар --> <?php if ($arResult['NAV']['NEXT']): ?> <a href="<?=$arResult['NAV']['NEXT']['DETAIL_PAGE_URL']?>"><?=$arResult['NAV']['NEXT']['NAME']?></a> <?php endif; ?>
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта