Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dharma Universal Filter

Joomla License: GPL v3+ Release

Dharma Universal Filter — пакет расширений Joomla 5/6 для каталогов RadicalMart. Он добавляет настраиваемый модуль фильтра товаров с индексированными данными, AJAX-обновлением, вертикальной и горизонтальной раскладками, поддержкой offcanvas и плановой переиндексацией.

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

Скриншоты

Горизонтальный фильтр каталога

Горизонтальный фильтр каталога

Вертикальный фильтр каталога

Вертикальный фильтр каталога

Настройки в админке

Основные настройки модуля

Настройки поведения фильтра

Настройка полей фильтра

Состав пакета

  • lib_dharma_universal_filter — общая библиотека с классом Indexer, который используют оба плагина; владеет схемой таблиц индекса.
  • mod_dharma_universal_filter — модуль сайта, который выводит интерфейс фильтра.
  • plg_system_dharma_universal_filter — системный плагин: поддерживает индекс в актуальном состоянии после сохранения товаров и даёт инструмент переиндексации.
  • plg_task_dharma_universal_filter — плагин планировщика для полной или частичной переиндексации.
  • package/pkg_dharma_universal_filter.xml — манифест пакета Joomla.
  • package/script.php — установочный скрипт пакета: создаёт таблицы индекса и включает плагины.

Основные возможности

  • Фильтрация товаров RadicalMart по полям категорий и по цене.
  • Индексированные таблицы для быстрого расчёта доступных значений.
  • Вертикальная и горизонтальная раскладки модуля.
  • Раскладки полей: выпадающий список, список чекбоксов, чекбоксы-дропдаун, радиокнопки, поля цены и слайдер цены.
  • AJAX-фильтрация с мгновенным применением или с кнопкой «Применить».
  • Каскадная логика доступности: значения и целые поля, под которые нет товаров при текущем выборе, скрываются или отключаются.
  • Общий индексатор с транзакционной, пакетной переиндексацией и автоматическим сбросом кэша чтения.
  • Опциональные счётчики товаров рядом со значениями фильтра.
  • Опциональный мобильный режим / offcanvas.
  • Опциональный «липкий» горизонтальный фильтр с настраиваемым отступом сверху.
  • Языковые файлы на русском и английском.

Документация

Требования

  • Сайт, совместимый с Joomla 5.x или 6.x.
  • Установленный и настроенный RadicalMart.
  • Версия PHP, поддерживаемая целевой Joomla.
  • MySQL/MariaDB с InnoDB.

Структура репозитория

src/
  libraries/
    dharma_universal_filter/
  modules/
    mod_dharma_universal_filter/
  plugins/
    system/dharma_universal_filter/
    task/dharma_universal_filter/
package/
  pkg_dharma_universal_filter.xml
  script.php
build/
  build-package.ps1

Сборка

Из корня репозитория:

powershell -ExecutionPolicy Bypass -File .\build\build-package.ps1

Скрипт создаёт устанавливаемые ZIP-архивы в папке dist/, включая архив пакета:

dist/pkg_dharma_universal_filter_0.2.0.zip

Установка

Установите dist/pkg_dharma_universal_filter_0.2.0.zip через администратора Joomla:

Система -> Установка -> Расширения

При установке/обновлении библиотека создаёт таблицы индекса, а скрипт пакета включает системный и плановый плагины.

Вывод фильтра зависит от строки запроса, поэтому модуль поставляется с отключённым кэшированием. При обновлении уже существующего экземпляра модуля выставьте у него Кэширование → Без кэширования на вкладке «Расширенные», иначе статический кэш вывода модуля «заморозит» каскад.

Заметки для разработки

  • Совместимость с Joomla 6 — намеренная. Не вводите устаревшие классы J*.
  • Используйте пространства имён Joomla\Input\Input и Joomla\Filesystem\*, когда нужен прямой импорт.
  • Не храните в этом репозитории site-specific переопределения шаблонов, демо-медиа, кэши, дампы и конфигурацию Joomla.

Лицензия

GPL-3.0-or-later. См. LICENSE.

About

Joomla 5/6 indexed RadicalMart catalog filter package

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages