Настройка JoomShopping и VirtueMart для интернет-магазина на Joomla
Joomla имеет два зрелых e-commerce расширения: JoomShopping и VirtueMart. Оба существуют более десяти лет, имеют схожий базовый функционал, но различаются в архитектуре, качестве кода и экосистеме плагинов. Выбор между ними — первый вопрос на любом проекте.
JoomShopping vs VirtueMart: выбор компонента
JoomShopping — российская разработка, активно поддерживается, проще в настройке, хорошо документирована на русском языке. Архитектура чище, код проще расширять.
VirtueMart — старше, больше пользователей в мире, богаче функционал из коробки (особенно в части налогов и мультивалютности). Но кодовая база значительно сложнее и местами устаревшая.
| Критерий | JoomShopping | VirtueMart |
|---|---|---|
| Документация на RU | Отличная | Слабая |
| Настройка без разработчика | Проще | Сложнее |
| Налоги EU / VAT | Базово | Детально |
| Расширяемость | Хорошая | Сложная |
| Совместимость с Joomla 4/5 | Да | Да (с 4.x) |
| Активность разработки | Высокая | Средняя |
Для большинства проектов в СНГ — JoomShopping. Для международных магазинов с EU VAT — VirtueMart.
Установка JoomShopping
Extensions → Install → Upload Package File
→ Загружаем com_jshopping.zip
→ После установки: Components → JoomShopping → Settings
Базовая настройка в разделе Settings:
- General: название магазина, email, страна и валюта по умолчанию
- Products: показывать ли вес, размер, EAN
- Checkout: включить регистрацию гостей, количество шагов
- Email: шаблоны писем (подтверждение заказа, смена статуса)
Структура каталога JoomShopping
Иерархия: категория → подкатегория → товар → атрибуты.
Создание категории:
JoomShopping → Categories → Add
→ Name: Кресла офисные
→ Alias: kresla-ofisnye
→ Parent: Мебель
→ Image: загружаем изображение
→ Meta Title / Description: для SEO
Создание товара:
JoomShopping → Products → Add
→ Name, Alias, Category
→ Price: 1499.00
→ Old price: 1999.00 (зачёркнутая)
→ SKU: CHAIR-BLK-L
→ Quantity: 15
→ Weight: 12.5 кг
→ Images: несколько изображений с превью
→ Description: через WYSIWYG редактор
→ Attributes: Цвет, Размер (создаются отдельно)
Атрибуты товаров в JoomShopping
Атрибуты — это свойства, которые влияют на цену:
JoomShopping → Attributes → Add
→ Name: Цвет
→ Type: Select (выпадающий список)
→ Attribute options:
Чёрный [code=BLK, price=+0]
Белый [code=WHT, price=+0]
Красный [code=RED, price=+150]
Для вариаций с отдельным остатком (разные размеры имеют разное количество) — используется тип атрибута «Extra field» с подтипом «Product combination».
Настройка доставки
JoomShopping → Shipping methods → Add
→ Plugin: Standard (фиксированная стоимость / по весу / по сумме)
→ Price: 0 (бесплатная при сумме > 2000 руб.)
// Условная бесплатная доставка
→ Plugin: Standard
→ Free shipping: Yes
→ Free shipping from amount: 2000
Для интеграции с транспортными компаниями — плагины (СДЭК, Почта России, СДЭК):
В Joomla Extension Directory: "JoomShopping SDEK"
→ После установки: ввести API-ключи СДЭК
→ Настроить расчёт стоимости по фактическому весу
Установка VirtueMart
Extensions → Install → com_virtuemart.zip
→ После установки: Components → VirtueMart → Configuration
VirtueMart разделяет настройки по вкладкам:
Shop → Configuration:
- Shop Information: название, адрес, email
- Shipping: включить расчёт доставки
- Prices: включить/выключить отображение налога в цене
Shop → Currencies:
→ Add: BYN
→ Exchange Rate: 1.0
→ Decimal symbol: ,
→ Thousands separator: (space)
→ Currency symbol: Br
→ Symbol position: after
Категории и товары VirtueMart
VirtueMart создаёт собственные таблицы (vm_product, vm_category и т.д.) параллельно с Joomla-контентом. Это особенность архитектуры: товары не являются Joomla-статьями.
VirtueMart → Products → Add Product
→ Product Name, SKU, Price
→ Category: привязываем к категории
→ Product Images: основное + галерея
→ Product Description: краткое и полное
→ Dimensions & Weight: для расчёта доставки
→ Stock: количество (с уведомлением при остатке < N)
Платёжные шлюзы VirtueMart
VirtueMart имеет собственную систему payment plugins:
VirtueMart → Payment Methods → Add
→ Payment Method Name: Оплата картой
→ Payment Method Class: VirtueMartPaymentRobokassa
→ Ввести: Login, Password1, Password2
→ Test mode: выключить на production
Доступные payment plugins:
-
vmPaymentPaypal— PayPal Standard -
vmPaymentStripe— Stripe (community) - Robokassa, ЮKassa, CloudPayments — сторонние плагины
SEO-настройка в обоих компонентах
JoomShopping:
JoomShopping → Settings → SEO
→ Use SEF URLs: Yes
→ Product URL: /catalog/{category_alias}/{product_alias}
→ Add category in product URL: Yes
Метатеги на уровне товара:
Product → Edit → SEO Tab
→ Meta Title: уникальный для каждого товара
→ Meta Description: 150–160 символов
→ Keywords: (не обязательно для современных поисковиков)
VirtueMart:
VirtueMart → Configuration → SEO
→ Enable SEF: Yes
→ Use Category in Product URL: Yes
Дополнительно — компонент com_sef или встроенный Joomla Router для красивых URL.
Кастомизация шаблонов
Оба компонента используют переопределения шаблонов в templates/{your_template}/html/:
JoomShopping:
/components/com_jshopping/templates/default/
→ Копируем нужный файл в:
/templates/{template}/html/com_jshopping/default/
VirtueMart:
/components/com_virtuemart/views/productdetails/tmpl/default.php
→ Копируем в:
/templates/{template}/html/com_virtuemart/productdetails/default.php
Переопределения в папке шаблона не затираются при обновлении компонента — это стандартный Joomla-подход.
Типичные проблемы и решения
JoomShopping: изображения не показываются после переноса сайта
JoomShopping → Settings → Images
→ Проверить путь: /images/jshopping/products/
→ Запустить: Tools → Rebuild image thumbnails
VirtueMart: дублирование товаров в поиске
Товары VirtueMart индексируются дважды (своя страница + Joomla-контент). Решение — отключить индексацию Joomla-контента для VirtueMart через noindex или через com_search exclusions.
Оба: медленная загрузка каталога Причина — N+1 запросы при выборке атрибутов. Включить Joomla System Cache:
System → Global Configuration → System → Cache: Conservative caching
Cache time: 15–60 минут
Для более точного кеширования — плагин JotCache или встроенный Page Cache.
Сроки реализации
- Установка + базовая настройка магазина: 1 день
- Загрузка каталога (ручная или импорт CSV): 1–3 дня (зависит от объёма)
- Настройка доставки + платёжного шлюза: 1–2 дня
- Кастомизация шаблона: 2–4 дня
- SEO-настройка + метатеги: 1 день
- Интеграция с 1С или внешней системой: +3–5 дней
Стандартный проект «под ключ»: 1–2 недели.







