Dharma Shop — быстрый и модульный интернет-магазин для Joomla. Здесь коротко и честно: как он сделан, на каких условиях им можно пользоваться и что в нём есть.
О проекте честно
Dharma Shop сделан методом вайб-кодинга: магазин написали ИИ-ассистенты Claude и ChatGPT, а человек ставил задачи, проверял результат и принимал решения.
Написан ИИ
Код пишут Claude (Anthropic) и ChatGPT (OpenAI). Правила работы для ассистентов записаны в проекте, изменения проверяются и тестируются.
Открытый код
Проект распространяется по свободной лицензии GNU GPL версии 2 или новее, как и сама Joomla.
Сделан для себя
Магазин создавался под собственные сайты и задачи. Это не коммерческий продукт: поддержки и обязательств нет.
На свой страх и риск
Программа поставляется «как есть», без гарантий. Перед установкой сделайте резервную копию и проверьте работу на тестовом сайте.
Что такое Dharma Shop
Универсальный, быстрый и модульный интернет-магазин нового поколения для Joomla 5 и 6. Он построен на родной архитектуре Joomla и чистом Bootstrap 5 и рассчитан на каталоги от сотни до сотен тысяч товаров без просадок скорости. Этот сайт — демонстрация: товары и тексты здесь вымышленные.
Почему он быстрый
- Без JSON на витрине. Цены, остатки, связи и значения характеристик лежат в обычных индексируемых столбцах базы, а не в упакованных JSON-полях. Поэтому нет медленных разборов JSON и полных просмотров таблиц.
- Мгновенный фасетный фильтр. Фильтр работает по заранее посчитанным индексам: на каталоге в 100 000 товаров выбор по нескольким свойствам занимает единицы или десятки миллисекунд.
- Родная Joomla. Категории, бренды и бейджи — штатные категории Joomla, формы админки — штатные формы, права доступа — штатные права, ресурсы подключаются штатными средствами.
- Чистый фронтенд. Семантический HTML и классы Bootstrap 5 без тяжёлых сторонних фреймворков; встроены галереи Swiper и лайтбокс Fancybox.
Возможности
Каталог и товары
- Категории, бренды и бейджи с вложенностью, SEO-метатегами, картинками и описаниями.
- Группы и варианты: самостоятельные товары объединяются в одну карточку по общим осям (размер, цвет, объём), у каждого варианта свои цена, артикул, остаток и фото.
- Гибкие остатки, единицы измерения и шаг количества; наследование настроек от товара к категории и общим настройкам.
- Цены и акции: старая и новая цена, автоматический бейдж «Акция», промокоды и прогрессивная скидка от суммы заказа.
Фильтр и поиск
- Фильтр по цене (два бегунка), наличию, бренду, бейджам и любым дополнительным полям; вертикальный, горизонтальный и мобильный вид.
- Полнотекстовый поиск по названию и артикулу с подсказками на лету, устойчивый к опечаткам, с транслитерацией «на слух» (например, «айфон» найдёт iPhone) и своими синонимами.
Корзина и заказ
- Мини-корзина без перезагрузки страницы и выдвижная панель с составом заказа.
- Оформление на одной странице, гостевой заказ без регистрации, настраиваемые контакты и согласия.
- Страница заказа со статусом и история заказов покупателя.
Оплата и доставка
- Способы оплаты подключаются плагинами: оплата при получении, тестовая «песочница»; банковские эквайринги добавляются отдельными плагинами.
- Доставка: стандартная, курьером (с расчётом по карте и расстоянию), самовывоз из пунктов выдачи. Для каждой доставки можно выбрать, какая оплата ей доступна.
Импорт и экспорт
- Выгрузка каталога в CSV, Excel и YML (фиды для маркетплейсов), в том числе по расписанию.
- Загрузка товаров, категорий, брендов и полей из CSV и Excel с проверкой перед применением («будет создано, обновлено, ошибок»).
SEO и маркетинг
- Посадочные страницы: подборки на основе условий фильтра со своим адресом, заголовком и описанием. Посмотрите примеры в меню «Демо посадочных страниц».
- Микроразметка Schema.org (товар, предложение, бренд, список) и теги OpenGraph; метатеги по шаблонам.
- Защита от дублей адресов: страницы каталога с лишними и пустыми параметрами перенаправляются (301) на чистый адрес; сортировка, фильтр, поиск и метки рекламы (
utm_*,yclid…) сохраняются. Включается в настройках SEO. - Электронная коммерция для Яндекс Метрики и GA4: просмотр товара, добавление и удаление из корзины и покупка (один раз на заказ) передаются в
dataLayer. Включается в «Настройки → Магазин → Аналитика»; выключенная настройка не добавляет ни запросов, ни скриптов.
Работа через ИИ-ассистента
К сайту можно подключить Claude, ChatGPT и другие программы и управлять магазином обычными словами: создавать товары и акции, менять цены таблицей, выгружать каталог. Как это настроить, написано в разделе «Помощь → Dharma MCP».
Что внутри
Магазин устанавливается одним пакетом из почти четырёх десятков расширений:
- Компоненты: ядро магазина, посадочные страницы, экспорт, импорт.
- Модули сайта: корзина, категории, фильтр, подборки товаров, поиск, избранное.
- Плагины: способы оплаты и доставки, акции и промокоды, уведомления (почта и Telegram), типы полей, форматы выгрузки и загрузки, задачи планировщика, команды консоли, превью изображений в WebP, разметка Schema.org, карта сайта.
Что нужно для работы
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| Joomla | 5.2 или 6.0 | 6.1 и новее |
| PHP | 8.3 | 8.3 или 8.4 (расширения pdo_mysql, gd или imagick, mbstring, zip) |
| База данных | MySQL 8.0 | MySQL 8.4 или MariaDB 10.6 и новее |
| Шаблон | любой на Bootstrap 5 | шаблон dharma-starter (на нём сделан этот сайт) |
Как установить
- В админке Joomla откройте Система → Установка → Расширения и вкладку «Установить по URL-адресу».
- Вставьте ссылку на актуальный пакет и нажмите «Проверить и установить»:
https://github.com/shivayanamahom/dharma-shop-updates/releases/download/v0.1.17/pkg_dharmashop-0.1.17.zip - Либо скачайте архив со страницы выпусков на GitHub и загрузите его на вкладке «Загрузить файл пакета».
Основные модули и плагины включаются сами. Тестовая оплата, скидки от суммы заказа и плагин карты сайта остаются выключенными, пока вы не настроите их вручную.
Как обновлять
Магазин обновляется целиком одним пакетом обычными средствами Joomla: Система → Обновление → Расширения → «Найти обновления» → «Обновить». Joomla скачивает архив, сверяет контрольную сумму и обновляет все части за один шаг.
Документация
Подробные руководства лежат в разделе «Помощь»: руководство администратора (товары, категории, заказы, акции, настройки, импорт и экспорт) и руководство разработчика (архитектура, макеты, события, фильтр, SEO, правила расширения).
Лицензия
Dharma Shop распространяется на условиях GNU General Public License версии 2 или новее — полностью в духе лицензии Joomla. Вы вправе свободно использовать, изменять и распространять программу. Она предоставляется без каких-либо гарантий; вся ответственность за использование лежит на вас.
Сделано с любовью к чистой архитектуре и высокой скорости — и с помощью ИИ.