Как реализовать бесконечный скроллинг (infinity scroll) для инфоблоков Битрикса?

На сайте реализован обычный вывод новостей, но вместо стандартной пагинации требуется решение в виде бесконечного скроллинга и автоматической подгрузки новостей. Гугол дал очень мало и по сути из решений я нашел только эту статью odenisova.ru/a/682 и еще один платный компонент. Работаю с Битриксом впервые и уже охреневаю от этого комбайна... Помогите реализовать эту функцию, либо разжуйте мне способ из статьи выше, т.к. у меня нифига не получилось.. Спасибо!
  • Вопрос задан
  • 10849 просмотров
Решения вопроса 1
Описал у себя в блоге простой способ реализации
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Загуглить любой бесплатный скрипт бесконечного скроллинга, и прикрутить в нужное место любой cms - это полчаса дела для НЕпрограммиста-верстальщика.
Ответ написан
Комментировать
ScorpLeX
@ScorpLeX
Нужен небольшой скрипт на js как в статье, который будет делать ajax запрос на страничку, когда юзер докрутил до конца. Страница будет отдавать json или html с новой порцией новостей или чем угодно, которые нужно вставить далее. Довольно просто вроде.

PS каждый раз упоминание битрикса вызывает мелкую дрожь по телу.
Ответ написан
по js-части подсказать не могу ( как-то отследить скороллинг, в нужный момент сделать ajax-запрос; не думаю, что это сложно). Ответ бэкенда ожидаете в формате html

Бэкенд для аякса предлагаю делать в отдельном файлике:
<?
// это строчки - обычный набор для отдельной аяксовой страницы;
// тут исключен вывод шаблона сайта (хедера и футера), только рабочая область
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>
// сюда закидывается вызов компонента списка новостей с исходной страницы
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>

Стоит проверить, что шаблон сайта для ajax-страницы - тот же, что и для исходной.
Сама постраничка делается через GET-параметр PAGEN_?, номер в конце зависит от того, сколько компонентов с постраничкой на данной странице. То есть если Вы будете отправлять post-запрос, то надо будет до prolog_before запихнуть параметр постранички в $_GET
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы