Здравствуйте! Помогите, пожалуйста с пагинатором компонента bitrix:catalog.section и с ajax-подгрузкой по ссылке "Ещё товары". Надо чтобы находясь на странице при нажатии на кнопку "Ещё товары" показывались следующие товары и на пагинаторе подсвечивалась следующая страница. В параметрах компонента можно это исправить? Или там нужно вмешательство в код? JS или php - не знаю. Подскажите, может кто делал?
В принципе мне подсказали:
"в новых шаблонах это есть. посмотреть можно в /bitrix/components/bitrix/catalog.section/templates/.default. там в шаблон вставили пометки по типу <!-- items container -->, а в component_epilog.php проверка на ajax-запрос и отдача разметки в json".
Но что-то я не понял куда дальше двигаться.
Вот код component_epilog.php:
В принципе мне подсказали:
"в новых шаблонах это есть. посмотреть можно в /bitrix/components/bitrix/catalog.section/templates/.default. там в шаблон вставили пометки по типу <!-- items container -->, а в component_epilog.php проверка на ajax-запрос и отдача разметки в json".
Но что-то я не понял куда дальше двигаться.
Вот код component_epilog.php:
Код |
---|
$request = \Bitrix\Main\Context::getCurrent()->getRequest(); if ($request->isAjaxRequest() && ($request->get('action') === 'showMore' || $request->get('action') === 'deferredLoad')) { $content = ob_get_contents(); ob_end_clean(); list(, $itemsContainer) = explode('<!-- items-container -->', $content); list(, $paginationContainer) = explode('<!-- pagination-container -->', $content); list(, $epilogue) = explode('<!-- component-end -->', $content); if ($arParams['AJAX_MODE'] === 'Y') { $component->prepareLinks($paginationContainer); } $component::sendJsonAnswer(array( 'items' => $itemsContainer, 'pagination' => $paginationContainer, 'epilogue' => $epilogue, )); } |