Reemake AJAX Content — модуль для Joomla 6, который выводит материалы сайта и подгружает новые порции без перезагрузки страницы. Работает двумя способами: по клику на кнопку «Показать ещё» или бесконечным скроллом — при прокрутке до конца списка.

Модуль решает классическую задачу: длинные списки новостей и анонсов перегружают страницу и замедляют её. AJAX-подгрузка позволяет показывать ровно столько материалов, сколько пользователь готов листать, и не заставлять его ждать.

reemake-ajax-content.jpeg

  • Что умеет

    • Подгрузка по кнопке. Пользователь нажимает «Показать ещё» — следующая порция статей вставляется в список.

    • Бесконечный скролл. Новые материалы появляются автоматически, когда пользователь долистывает страницу до конца.

    • Комбинированный режим. Одновременно кнопка и скролл — на случай, если пользователь хочет управлять загрузкой вручную.

    • Фильтр по категориям. Можно указать одну или несколько категорий, включая вложенные подкатегории — модуль сам собирает дерево.

    • Гибкая сортировка. По дате публикации, заголовку, популярности или порядку.

    • Управление карточкой. Включайте и отключайте изображение, заголовок, дату и вводный текст — для каждой карточки.

    • Ограничение глубины. Настройка «максимум подгрузок» позволяет остановить загрузку после N страниц.


    Как это работает

    Модуль состоит из двух частей:

    1. Модуль mod_ajax_content — выводит первую порцию статей и разметку: контейнер, кнопку, «маячок» для скролла.

    2. Системный плагин Reemake AJAX Content Endpoint — перехватывает AJAX-запросы и возвращает JSON с HTML следующей порции.

    Схема работы:

    Браузер  →  index.php?ac_ajax=items&module_id=161&offset=6
                  ↓
            System - Ajax Content Endpoint
                  ↓
            Модуль подгружает статьи из #__content
                  ↓
            JSON: { success, html, offset, total, hasMore }
                  ↓
            JS вставляет HTML, обновляет offset

    Мы отказались от встроенного com_ajax в пользу собственного эндпоинта. Это дало стабильность: у com_ajax в Joomla 6 есть ограничения при работе с legacy-модулями, и подобные задачи часто падают с ошибкой Call to a member function getHelper() on null. Свой плагин работает поверх обычного index.php и не зависит от внутренних API.


    Установка

    Модуль поставляется как два отдельных расширения:

    1. mod_ajax_content.zip — модуль.

    2. plg_system_ajaxcontent.zip — системный плагин-эндпоинт.

    Порядок установки

    1. Откройте Система → Установка → Расширения.

    2. Загрузите mod_ajax_content.zip. Дождитесь сообщения об успехе.

    3. Загрузите plg_system_ajaxcontent.zip.

    4. Откройте Система → Плагины, найдите Reemake AJAX Content Endpoint и включите его.

    Плагин — обязательная часть. Без него кнопка «Показать ещё» не сработает: запросы будут уходить в пустоту, а в консоли появится ошибка HTTP 500.

    Создание модуля

    1. Контент → Модули сайта → Создать → Reemake AJAX Content.

    2. На вкладке Модуль выберите позицию — ту, где модуль должен появиться на странице.

    3. На вкладке Основные параметры настройте источник и подгрузку.

    4. На вкладке Оформление карточки выберите, что показывать внутри каждой статьи.

    5. Опубликуйте.


    Параметры

    Источник и подгрузка

    ПараметрОписание
    Категории Одна или несколько категорий. Автоматически включает вложенные подкатегории. Пусто — материалы со всего сайта.
    Статей за раз Сколько статей выводить сразу и подгружать за один запрос. Рекомендуем 6–12.
    Сортировка По дате, заголовку, популярности или порядку.
    Направление По убыванию или по возрастанию.
    Способ подгрузки Кнопка, бесконечный скролл или оба режима.
    Текст кнопки Например, «Показать ещё» или «Больше новостей». Оставьте пустым — будет значение по умолчанию.
    Максимум подгрузок Ограничение на количество AJAX-запросов. 0 — без ограничений.

    Оформление карточки

    ПараметрОписание
    Показывать изображение Вводное изображение статьи.
    Показывать заголовок Заголовок со ссылкой на полную статью.
    Показывать дату Дата публикации.
    Показывать вводный текст Первые N символов вводного текста. HTML-теги удаляются.
    Длина вводного текста Сколько символов показывать. По умолчанию 180.

    Технические детали

    Версии. Модуль протестирован на Joomla 6.1 и PHP 8.3.

    Производительность. Один AJAX-запрос отдаёт до 12 карточек за 30–80 мс. Плагин использует подготовленные запросы и не тянет лишние поля из БД.

    Дерево категорий. Если в выбранной категории нет статей, но есть материалы во вложенных подкатегориях — они подтянутся автоматически. Это реализовано через nested sets в таблице #__categories: модуль расширяет список выбранных категорий до всего поддерева.

    Права доступа. Учитываются уровни доступа пользователя. Материалы, недоступные текущему пользователю, не выводятся ни при первой отрисовке, ни в AJAX-ответе.

    Мультиязычность. Модуль хранит язык статьи и передаёт его при построении URL — ссылки ведут на правильную языковую версию.

    Кэширование. Модуль поддерживает стандартное кэширование Joomla. Для отключения — установите «Прогрессивное кэширование» в параметрах модуля.


    Итог

    Reemake AJAX Content берёт на себя рутину подгрузки материалов и оставляет вам полный контроль над оформлением и поведением. Модуль устанавливается как обычное расширение Joomla, не требует переписывания шаблона и работает с любой темой — от стандартной Cassiopeia до кастомных сборок на Helix Ultimate.

Скачать модуль ZIP · Joomla 6 · 1.0.0

8 (950) 442-49-00 reemake@inbox.ru Max Messenger Max

с 8:00 до 20:00 (МСК)

г. Пермь