Битрикс — постраничная навигации в своей компоненте без PAGEN_1


Потихоньку допиливаю сайт по фотообоям — на этот раз опишу процесс внедрения постраничной навигации в свою компоненту.
На сайт в некоторых категориях более тысячи изображений для фотообоев — без пагинации тут не обойтись.
Сразу покажу что получилось, а потом немного подробностей

Какие задачи ставились для пагинации
1. ЧПУ ссылки вида https://dekorimage.ru/3D-foto-oboi/stereoskopicheskie/page5/ без стандартного битриксовского ?PAGEN_1=5
2. AJAX обновление пагинации — при нажатии «показать ещё» страничка в пагинации так же должна перескакивать на следующую страничку

Первое реализуется с помощью буферизации вывода компонента bitrix:system.pagenavigation (за основу взял шаблон round) и замены ссылок формата PAGEN_1 на нужные нам ЧПУ ссылки

Для реализации второго — параметры $total $per_page и $page передаются в такой же скрипт но уже AJAX запросом.
Для обработки AJAX запроса в компонент я добавил полную очистку буфера вывода

В принципе из интересного всё — остальное дело техники.

И ещё момент — чтобы AJAX скрипт формировал правильный адрес, в компонент я передаю BASE_LINK


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *