VM Custom Catproduct - Расширение Joomla
Catproduct первично отображает дочерние продукты, но его можно использовать для отображения любого продукта! Вы можете использовать его для отображения различных вариантов продукта, инструментов для основного продукта, аксессуаров для продукта, сопутствующих товаров или всего, что вы себе представляете! Вы также можете использовать Catproduct для демонстрации наборов!

Особенности расширения
Макет по умолчанию представляет собой таблицу товаров на главной странице товара с полями количества сбоку и одной кнопкой "Добавить в корзину". Но Catproduct поддерживает пользовательские макеты, так что у вас могут быть разные макеты для разных продуктов!
Вы можете выбрать, как Catproduct будет сортировать продукты. Вы можете отсортировать их по идентификатору, артикулу, названию, весу, длине, ширине, высоте и цене.
Вы можете прикрепить другие продукты к таблице с помощью дочернего продукта. Это означает, что вы можете предоставить один независимый продукт многим родителям. Просто введите идентификаторы продуктов в конфигурацию подключаемого модуля, и продукты будут показаны в родительском макете продукта. Вы также можете задать пользовательский заголовок для прикрепленных продуктов, например "Аксессуары". Посмотрите примеры в нашей демо-версии.
С помощью прикрепленных продуктов вы также можете добавить категорию, Рекомендуемые продукты, последний продукт, Топ-10 продуктов или пользовательские продукты. С помощью этого вы можете сделать свою таблицу продуктов очень динамичной. Вы даже можете показать свои существующие сопутствующие товары в таблице Catproduct.
С помощью Catproduct вы можете установить, каково минимальное и максимальное количество заказа. Вы также можете указать количество в поле, и можно заказать только умноженное значение этого количества!
Catproduct поддерживает динамическое обновление цен. Это используется для скидки на количество. Это немного замедляет вычисление, поэтому его можно отключить, если он не используется.
Спецификации:
| Дата выхода: | 19-11-2014 | |
| Дата обновления: | 03-12-2022 | |
| Тип расширения: | Платный | |
| Лицензия: | GPL | |
| Тематика: | Интернет-коммерция для VirtueMart | |
| Совместимость: | J3.x | |
| Включает в себя: | Плагин | |
| Языковые пакеты: |
|
|
| Разработчик: | SM-planet | |
| Рейтинг: | ||
Скачивание по подписке!
Вам необходимо авторизоваться на сайте и приобрести клубную подписку!
Поделись с друзьями!
Руководство по настройке VM Custom Catproduct для VirtueMart
VM Custom Catproduct - это расширение для Joomla и VirtueMart, которое решает очень конкретную задачу: показывает на странице товара таблицу дочерних или прикреплённых товаров и даёт покупателю добавить несколько позиций в корзину одной кнопкой. В официальном каталоге VirtueMart продукт указан как Catproduct, а название VM Custom Catproduct обычно связано с типом плагина VirtueMart custom field, поэтому в руководстве дальше используется полное имя из задания и, где нужно, короткое имя Catproduct.
Этот материал не повторяет карточку расширения. Здесь разобрано, как подготовить товары, где логика Catproduct пересекается с дочерними товарами VirtueMart, какие настройки стоит проверить после установки, как собрать реальный комплект на странице товара, как проверить корзину и почему таблица иногда не появляется или работает медленнее, чем ожидалось.
Важно понимать границы фактов. Официальная страница подтверждает сценарии с дочерними товарами, прикреплёнными товарами, комплектами, несколькими макетами, выбором полей, ограничениями количества и динамическим обновлением цены. Подробная документация разработчика по ссылке с карточки была недоступна во время проверки, поэтому все советы по интерфейсным путям сформулированы через стандартную логику Joomla, VirtueMart и проверенные описания расширения, без выдуманных пунктов меню.
Что меняет Catproduct в обычной странице товара
В стандартном магазине VirtueMart покупатель обычно открывает карточку товара, выбирает вариант или количество, нажимает кнопку добавления в корзину и при необходимости повторяет действие для аксессуаров, размеров, связанных товаров или элементов комплекта. Catproduct меняет этот путь: администратор формирует набор товаров вокруг основной позиции, а покупатель видит их в одном блоке и может добавить несколько строк за одно действие.
Поэтому расширение полезно не как "ещё один список товаров", а как инструмент сокращения лишних переходов. Если у магазина есть товар, который почти всегда покупают с расходниками, аксессуарами, вариантами размера, дополнительными книгами серии или запасными частями, таблица Catproduct может сделать выбор быстрее. Покупатель видит не отдельную рекомендацию внизу страницы, а рабочую форму: товар, количество, цена, доступные поля и общая кнопка.
Официальное описание выделяет несколько базовых ролей: показ дочерних товаров, показ прикреплённых товаров, комплекты, разные макеты для разных товаров и выбор отображаемых полей. Это важная разница между Catproduct и обычным модулем "похожие товары": Catproduct встроен в товарную логику VirtueMart и работает рядом с добавлением в корзину, а не просто выводит рекламный блок.
Для администратора это означает две рабочие зоны. Первая - структура каталога VirtueMart: родительский товар, дочерние товары, прикреплённые товары, артикулы, цены, остатки, категории и пользовательские поля. Вторая - настройки самого плагина: какой набор показывать, какие поля выводить, как обрабатывать количество и нужен ли динамический пересчёт цены. Если одна из зон настроена поверхностно, результат будет непредсказуемым: таблица может быть пустой, товары могут сортироваться неудобно, цена может казаться неверной, а покупатель не поймёт, что именно отправляется в корзину.
Когда расширение действительно экономит путь покупателя
Catproduct стоит рассматривать в тех сценариях, где покупатель заранее понимает, что ему нужны несколько связанных позиций. Для футболки это могут быть размеры или цвета, если каждый вариант хранится как отдельный дочерний товар. Для фотоаппарата - сумка, карта памяти, объектив и фильтр. Для книжного магазина - тома серии, которые удобно купить вместе. Для B2B-каталога - расходные материалы, где пользователь вводит количества по строкам и ожидает один общий переход в корзину.
Если товар покупают строго по одному, а аксессуары редко добавляют сразу, расширение может быть лишним. Оно добавляет ещё один интерфейсный блок на страницу товара, а значит требует аккуратного выбора полей и макета. Сильная настройка Catproduct - не "показать всё", а показать только те строки и поля, которые помогают принять решение прямо сейчас.
Чем это отличается от варианта товара в VirtueMart
VirtueMart поддерживает родительские и дочерние товары, а также пользовательские поля. Родительский товар может служить основой, а дочерний товар наследует часть свойств и переопределяет нужные значения, например цену, изображение, категорию или группу покупателей. Catproduct использует эту логику как один из источников данных, но показывает дочерние позиции иначе: не как один выпадающий выбор, а как таблицу строк с количеством и общей кнопкой.
Именно поэтому VM Custom Catproduct особенно полезен там, где покупатель может выбрать несколько вариантов сразу. Если нужно выбрать только один размер из списка, обычное пользовательское поле может быть проще. Если нужно добавить три размера, два аксессуара и отдельную позицию из комплекта, табличный подход понятнее.
Кому подходит VM Custom Catproduct, а где лучше выбрать другой подход
Расширение подходит владельцам VirtueMart-магазинов, у которых товарная карточка должна продавать не один изолированный товар, а группу связанных позиций. Это не обязательно набор со скидкой. Часто речь о техническом комплекте, расходниках, вариациях, деталях, обучающих материалах или любых позициях, которые покупатель логично выбирает вместе.
Хороший кандидат для Catproduct - магазин, где администратор уже ведёт товары в VirtueMart аккуратно: у позиций есть понятные названия, артикулы, цены, изображения, категории, остатки и короткие описания. Тогда расширение получает нормальные данные и превращает их в рабочий блок. Если каталог заполнялся хаотично, сначала придётся привести его в порядок, иначе таблица только покажет старые проблемы более заметно.
Для контент-менеджера расширение удобно тем, что часть логики можно вынести в настройки и макеты. Вместо ручного набора HTML-таблиц в описании товара используются товары VirtueMart, их цены и состояния. Это снижает риск, что в тексте останется старая цена или ссылка на несуществующую позицию.
Когда Catproduct будет удачным выбором
- На странице основного товара нужно вывести дочерние товары или варианты, которые можно купить несколькими строками за один раз.
- К товару регулярно добавляют аксессуары, расходники или связанные позиции, и покупателю неудобно открывать каждую карточку отдельно.
- Магазину нужен комплект из отдельных товаров, но без сложной системы складского резервирования для одного составного продукта.
- Администратор хочет управлять набором через товары, идентификаторы, артикулы и настройки полей, а не через статический HTML в описании.
- Нужно показать только часть данных: артикул, изображение, цену, количество, короткое описание, итоговую строку или другое подтверждённое поле товара.
Когда расширение может быть лишним
Catproduct не заменяет полноценный конструктор конфигурируемого товара, если покупатель должен выбрать один вариант из взаимоисключающих опций с зависимой логикой. Не стоит ставить расширение только ради визуального блока "рекомендуем также", если товары не должны добавляться вместе. Для такого сценария часто хватает модуля товаров, блока похожих товаров, стандартных связанных товаров VirtueMart или аккуратного контентного блока.
С осторожностью стоит использовать расширение на очень больших товарных таблицах. Официальное описание Catproduct Content прямо предупреждает, что команда показа всех товаров категории может замедлить страницу, если товаров слишком много. Для Catproduct на карточке товара логика похожая: чем больше строк, полей, изображений и динамических пересчётов, тем больше работы у страницы. Поэтому практический ориентир такой: лучше несколько осмысленных строк, чем длинная таблица из всего каталога.
Если покупателю нужно прокручивать таблицу дольше, чем читать саму карточку товара, настройка требует пересмотра. Catproduct должен сокращать путь к корзине, а не превращать товарную страницу в отдельный каталог.
Что проверить перед установкой на Joomla и VirtueMart
Перед установкой VM Custom Catproduct полезно отделить требования расширения от требований магазина. Официальная карточка Catproduct указывает связку Joomla и VirtueMart, а также тип расширения как плагин. При этом в описании встречаются исторические версии Joomla и VirtueMart, поэтому для живого сайта нужно смотреть не только старый текст карточки, но и тот пакет, который вы реально скачиваете, его changelog или инструкцию разработчика.
Минимальная подготовка начинается с резервной копии. Catproduct работает с товарными страницами и корзиной, поэтому его нельзя проверять сразу на боевом магазине в момент активных продаж. Создайте копию сайта или хотя бы тестовый раздел с несколькими товарами, где можно спокойно включить плагин, проверить корзину, отключить кеш и сравнить поведение до и после.
Проверка платформы и зависимостей
На стороне Joomla проверьте, что установка расширений работает штатно, администратор имеет права на управление плагинами, а папки сайта не заблокированы правами файловой системы. На стороне VirtueMart проверьте, что магазин открывается в админ-панели, товары сохраняются без ошибок, категории опубликованы, а тестовое добавление обычного товара в корзину уже работает.
Если обычная кнопка VirtueMart не добавляет товар в корзину, сначала исправьте базовую проблему магазина. Catproduct не должен использоваться как обходной путь для сломанной корзины. Он добавляет собственную логику выбора нескольких строк, но опирается на нормальную работу товаров, цен, остатков, сессии и оформления заказа VirtueMart.
Проверка структуры товаров
Для сценария с дочерними товарами убедитесь, что родительский товар и дочерние товары настроены осознанно. В документации VirtueMart дочерние товары описаны как производные от родительского товара: они могут наследовать свойства родителя, но переопределять свои значения. Отдельно важно, что у каждого дочернего товара должен быть уникальный alias. На практике это значит, что вы не должны создавать несколько почти одинаковых дочерних позиций без нормальных названий, артикулов и цен.
Для сценария с прикреплёнными товарами подготовьте список конкретных товарных идентификаторов или артикулов. Официальное описание Catproduct говорит, что attached products могут добавляться через product_id или product_sku. Перед настройкой выпишите эти значения в отдельный список, чтобы не подбирать их наугад в поле плагина.
Проверка шаблона и кеша
Catproduct выводит интерфейс на товарной странице, поэтому его внешний вид зависит от шаблона Joomla, шаблонов VirtueMart и подключённых скриптов. Если на сайте включён агрессивный кеш, оптимизация JavaScript или объединение файлов, временно отключите эти механизмы на тесте. Сначала добейтесь правильной работы без кеша, потом включайте оптимизацию обратно и проверяйте, не ломается ли динамическая цена, кнопка корзины и поля количества.
Установка и первое включение без риска для магазина
VM Custom Catproduct устанавливается как расширение Joomla. В зависимости от пакета это может быть отдельный плагин VirtueMart custom field, связанный пакет или набор из Catproduct и Catproduct Content. Не распаковывайте архив вручную в папки сайта, если инструкция не требует обратного. Безопасный путь - использовать стандартный установщик Joomla и затем включать установленный плагин через менеджер плагинов.
После установки не спешите добавлять расширение на все товары. Выберите один тестовый родительский товар и два-три простых дочерних или прикреплённых товара. У них должны быть понятные названия, опубликованное состояние, цена, остаток или разрешённая покупка при отсутствии остатка в соответствии с вашей политикой VirtueMart. Так вы проверите саму механику, не смешивая её с длинной таблицей, скидками и нестандартными макетами.
Первый маршрут в админ-панели
Общий маршрут выглядит так: установить пакет, открыть список плагинов Joomla, найти плагин Catproduct или VM custom-плагин с похожим названием, включить его, затем перейти к товару VirtueMart и добавить соответствующее пользовательское поле или настройку, если это предусмотрено вашей сборкой. Точные названия пунктов могут отличаться, поэтому ориентируйтесь на документацию пакета и список плагинов после установки.
- Откройте админ-панель Joomla и установите ZIP-пакет через стандартный установщик расширений.
- Перейдите в менеджер плагинов и найдите Catproduct по названию, типу VirtueMart или группе custom field.
- Включите плагин, но пока не меняйте все параметры сразу.
- Откройте тестовый товар VirtueMart, который будет родителем или основной страницей комплекта.
- Добавьте Catproduct к этому товару согласно интерфейсу вашей версии и сохраните товар.
- Откройте публичную страницу товара в новом окне без авторизации покупателя и проверьте, появился ли блок.
Если блок появился, но выглядит пустым, не начинайте сразу менять шаблон. Сначала проверьте источник товаров: есть ли дочерние товары, указаны ли attached products, опубликованы ли позиции, видны ли они нужной группе покупателей и не исключены ли они настройками категории или остатка.
Минимальная проверка после установки
Первичная проверка должна быть короткой и повторяемой. Добавьте одну строку из таблицы, затем две строки, затем строку с количеством больше единицы. После каждого действия смотрите, что попало в корзину: названия, количество, цена и налоги должны соответствовать ожиданиям VirtueMart. Если вы используете скидку от количества, проверяйте не только строку в таблице, но и итог корзины.
Проверка результата: расширение считается включённым корректно только тогда, когда выбранные строки появляются в корзине как нужные товары, с правильным количеством и без дублирования основной позиции.
Настройка таблицы товаров: поля, макеты и порядок строк
Главная практическая часть Catproduct - не установка, а настройка того, что именно увидит покупатель. Официальное описание подтверждает выбор отображаемых полей, разные макеты, сортировку дочерних товаров и attached products, ограничения количества, количество в упаковке и динамическое обновление цены. Именно эти параметры нужно проходить не хаотично, а от простого к сложному.
Начинайте с минимального макета: название товара, артикул или короткий идентификатор, цена, поле количества и кнопка добавления. Изображение, длинное описание, итоговые поля и дополнительные ценовые строки включайте только если они помогают выбору. Чем больше колонок, тем выше риск, что таблица станет неудобной на мобильном экране или в узкой зоне шаблона.
Выбор источника строк: дочерние или прикреплённые товары
Если у товара уже есть дочерние позиции, логично начать с них. Такой сценарий ближе всего к описанию расширения: Catproduct первично показывает child products, но может показывать и другие товары. Для магазина одежды, запчастей или расходников это удобно, потому что родительский товар остаётся точкой входа, а дочерние строки показывают конкретные варианты.
Если нужно показать аксессуары или независимые товары, используйте прикреплённые товары. Официальное описание говорит, что один независимый товар можно прикреплять к многим родителям. Это полезно для универсальных аксессуаров: карта памяти может появляться у разных камер, фильтр - у разных объективов, сервисный комплект - у нескольких моделей оборудования.
Как выбирать между product_id и product_sku
Если ваша команда или администраторы уверенно работают с внутренними идентификаторами VirtueMart, product_id обычно проще для точного связывания. Если каталог часто импортируется из внешней системы и артикулы стабильнее внутренних идентификаторов, удобнее использовать product_sku, если ваша версия плагина это поддерживает. В любом случае не смешивайте оба подхода без необходимости: одна логика связывания облегчает диагностику.
Поля таблицы, которые стоит включать первыми
Поле названия почти всегда обязательно. Артикул полезен в B2B-магазинах и каталогах запчастей. Изображение помогает, если товары визуально различаются, но оно перегружает таблицу, если все строки похожи. Цена нужна в большинстве магазинов, но её отображение должно совпадать с общей конфигурацией VirtueMart: показывать налог, итоговую цену, скидку и подписи нужно так, чтобы покупатель не видел две конфликтующие цены.
Короткое описание включайте осторожно. Официальное описание похожего решения All About Products указывает, что короткое описание можно обрезать после определённого числа символов, а Catproduct также заявляет выбор полей для отображения. Для Catproduct практический подход такой: если описание помогает отличить аксессуар, оставьте 1-2 короткие строки. Если оно превращает таблицу в длинный текстовый блок, перенесите детали в карточку товара.
Сортировка и группировка
Catproduct поддерживает сортировку по разным параметрам, включая id, sku, name, weight, length, width, height и price. Выбор сортировки должен соответствовать сценарию. Для размеров удобнее сортировать по фактической размерной логике, если она отражена в названии, артикуле или габарите. Для аксессуаров чаще подходит ручной порядок через список прикреплённых товаров или сортировка по названию. Для комплекта книг или запчастей важнее порядок использования, а не цена.
Если доступны несколько групп прикреплённых товаров, используйте их для разделения смыслов: "Расходники", "Инструменты", "Дополнительные элементы". Не смешивайте в одну таблицу товары, которые покупатель сравнивает по разным причинам. Одна группа должна отвечать на один вопрос: какой вариант, какой аксессуар, какой элемент комплекта или какой расходник выбрать.
Ограничения количества и количество в коробке
Официальная карточка Catproduct подтверждает минимальное и максимальное количество заказа, количество в коробке и покупку только кратными значениями. Это важные параметры для магазинов, где товар продаётся упаковками, наборами, метрами или партиями. Если ручка продаётся пачками по 12, покупатель не должен иметь возможность ввести 5. Если аксессуар имеет минимальный заказ 2 штуки, таблица должна сразу подсказывать допустимое значение.
Проверяйте такие ограничения не только в таблице, но и в корзине. Бывает, что интерфейс ограничивает ввод, но корзина получает старое или некорректное значение из-за кеша, скрипта шаблона или конфликтующей оптимизации. Безопасный тест: ввести меньше минимума, больше максимума и значение не кратное упаковке, затем убедиться, что система либо исправляет ввод, либо показывает понятное ограничение.
Сценарии применения: варианты, аксессуары и комплекты на одной странице
Catproduct раскрывается тогда, когда администратор заранее проектирует сценарий покупки. Не нужно показывать на странице всё, что "может пригодиться". Нужно выбрать понятную задачу и собрать вокруг неё короткий набор строк. Ниже - три сценария, которые подтверждаются логикой официального описания расширения и типовой структурой VirtueMart.
Варианты одного товара
Первый сценарий - дочерние товары как варианты одной позиции. Например, магазин продаёт футболку в нескольких размерах, но покупатель может купить сразу несколько размеров для команды. В обычном варианте он выбирает размер, добавляет в корзину, возвращается, выбирает следующий. С Catproduct родительская карточка показывает таблицу размеров, а пользователь вводит нужные количества в строках.
Для такого сценария в таблице обычно нужны название варианта, артикул, цена, количество и остаток, если магазин показывает остатки. Изображение можно отключить, если все варианты выглядят одинаково. Динамическую цену включайте только если есть скидки от количества или варианты меняют итоговую цену заметно для покупателя.
Аксессуары к основному товару
Второй сценарий - attached products. Покупатель смотрит камеру, а рядом видит сумку, карту памяти, объектив, фильтр и набор чистки. Эти позиции не являются дочерними товарами камеры, потому что каждая может продаваться отдельно и прикрепляться к нескольким родителям. Catproduct позволяет собрать их в одну таблицу на карточке основной позиции.
Здесь важно не подменять выбор покупателя агрессивной навигацией. Дайте понятные названия групп, не добавляйте количество по умолчанию больше нуля без явной причины и не прячьте цену. Если покупатель должен осознанно выбрать аксессуар, таблица должна выглядеть как удобный список, а не как скрытое добавление лишних товаров.
Комплект из нескольких самостоятельных товаров
Третий сценарий - комплект. Официальная страница приводит пример коллекции книг, где каждая книга остаётся отдельным товаром, но покупатель может купить всю группу со страницы набора. В таком подходе удобно вести остатки и цены по отдельным позициям, не создавая один искусственный товар, который потом сложно синхронизировать со складом.
Для комплектов особенно важна проверка итоговой корзины. Убедитесь, что каждая строка добавляется отдельным товаром, количество соответствует введённому значению, а общая скидка или цена комплекта не обещает того, чего нет в настройках VirtueMart. Если нужен настоящий комплект с отдельной ценой набора, Catproduct может быть недостаточен, и тогда стоит рассмотреть другое решение или отдельную логику скидок.
Практический пример: комплект аксессуаров для товара VirtueMart
Разберём сценарий, который легко перенести в тестовый магазин: на странице основного товара нужно показать три аксессуара и дать покупателю добавить выбранные позиции одной кнопкой. Цель - не создать новый тип магазина, а проверить, как VM Custom Catproduct связывает товары, выводит таблицу и передаёт строки в корзину.
Цель и подготовка
Цель: у основного товара "Камера Base" вывести блок "Аксессуары к камере" с картой памяти, сумкой и набором чистки. Покупатель должен выбрать количество по каждой строке и нажать одну кнопку добавления. В корзине должны появиться только выбранные аксессуары, без случайного дублирования основной камеры, если вы не включали её в таблицу специально.
Подготовка состоит из четырёх действий:
- Создайте или выберите основной товар, который будет страницей сценария.
- Создайте три отдельные позиции аксессуаров с опубликованным состоянием, ценой и понятными артикулами.
- Запишите
product_idилиproduct_skuкаждого аксессуара, в зависимости от выбранного способа связи. - Проверьте, что каждый аксессуар отдельно добавляется в корзину обычной кнопкой VirtueMart.
Настройка Catproduct для товара
Откройте основной товар в VirtueMart и добавьте к нему настройку Catproduct в том месте, где ваша версия позволяет назначать custom field или параметры плагина. В поле прикреплённых товаров укажите три подготовленных товара. Если доступны группы attached products, создайте одну группу с понятным заголовком, например "Аксессуары к камере". В таблицу включите название, артикул, цену и количество. Изображение включайте только если аксессуары трудно различить по названию.
Для первого теста отключите сложные элементы: динамический пересчёт цены, дополнительные итоговые строки, нестандартные макеты и длинные описания. Сначала нужно доказать, что базовая таблица работает. После этого можно включать динамическую цену, поля скидок, другие макеты и дополнительные группы.
Проверка на публичной странице
Откройте товар в публичной части сайта. Проверьте, что таблица стоит в логичном месте: не выше основного описания, не ниже слишком длинного блока отзывов, не внутри закрытой вкладки, которую покупатель легко пропустит. Введите количество 1 у карты памяти и 2 у набора чистки, сумку оставьте пустой или с нулём. Нажмите общую кнопку.
В корзине должны появиться две позиции с нужными количествами. Если появилась сумка, проверьте значение по умолчанию в строке и поведение пустого количества. Если добавилась основная камера, проверьте, включали ли вы родительский товар в таблицу или поставили параметр, который добавляет parent product вместе с дочерними. Если ничего не добавилось, вернитесь к обычной проверке каждого аксессуара и отключите кеш.
Нюанс с динамической ценой
Динамическое обновление цены полезно для скидок от количества, но официальное описание предупреждает, что такая логика делает расчёт немного медленнее и может быть отключена, если не используется. В практическом сценарии это означает простое правило: если у аксессуаров нет скидок от количества и покупателю достаточно увидеть цену за единицу, не включайте динамическое обновление только ради эффекта.
Группы прикреплённых товаров и логика выбора для покупателя
Одна из самых сильных возможностей Catproduct - attached products. Она позволяет не ограничиваться дочерними товарами, а выводить рядом с основной позицией независимые товары, которые могут использоваться на разных страницах. Но именно здесь администраторы часто делают блок слишком широким: добавляют всё, что хоть как-то связано с товаром, и получают таблицу, похожую на случайный каталог.
Чтобы блок работал как инструмент покупки, у каждой группы должна быть ясная задача. Если на странице камеры показаны карты памяти, сумки, аккумуляторы, штативы и чистящие наборы, не нужно смешивать их в одну длинную ленту. Разделите строки по смыслу, если ваша версия Catproduct поддерживает несколько групп attached products, или хотя бы задайте понятный заголовок. Покупатель должен быстро понять, что одна часть таблицы отвечает за обязательные расходники, другая - за защиту, третья - за дополнительные возможности.
Как проектировать группы
Начинайте с вопроса: почему этот товар показывается именно на этой странице? Ответ "может пригодиться" слишком слабый. Хороший ответ звучит конкретно: "без этой карты памяти камера не готова к работе", "этот аккумулятор совместим с моделью", "этот расходник нужен при регулярном обслуживании", "эти размеры часто покупают вместе для команды". Такой подход делает таблицу полезной и защищает её от превращения в SEO-блок с лишними товарами.
Для каждой группы полезно задать три параметра: назначение, допустимое количество строк и правило сортировки. Назначение объясняет заголовок блока. Количество строк удерживает таблицу в разумных пределах. Правило сортировки помогает не спорить каждый раз, что ставить первым. Например, расходники можно сортировать по частоте покупки или совместимости, размеры - по физическому порядку, аксессуары - от базовых к дополнительным, элементы комплекта - в порядке использования.
Пример структуры группы
Допустим, у вас есть основной товар "Набор для домашней фотостудии". Вместо одной таблицы из десяти строк лучше подготовить три короткие группы: "Обязательные элементы", "Дополнительный свет", "Расходники". В первой группе может быть штатив и держатель, во второй - две лампы, в третьей - запасные крепления и чистящие салфетки. Так покупатель не теряется и не воспринимает всё как навязанную допродажу.
Если группировка недоступна в вашей сборке или макете, используйте порядок строк и названия товаров. Даже простые префиксы в названии, например "Расходник: ..." или "Совместимо: ...", иногда помогают, но это компромисс. Более аккуратный способ - макет с заголовками групп или отдельные связанные блоки для разных задач.
Как не сломать доверие покупателя
Таблица с общей кнопкой очень удобна, но она должна быть прозрачной. Не ставьте количество по умолчанию для дополнительных товаров, если покупатель не ожидает автоматического добавления. Не прячьте цену за короткой подписью. Не называйте комплектом набор товаров, если скидка комплекта не настроена и в корзине позиции идут по обычным ценам. Такие мелочи влияют не только на конверсию, но и на количество обращений в поддержку.
Лучший вариант - показывать товары как осознанный выбор. Пустое количество или ноль по умолчанию для необязательных аксессуаров, понятный заголовок группы, видимая цена и краткая подпись к назначению. Если товар обязателен для работы основного продукта, объясните это в тексте карточки рядом с таблицей, а не только в названии строки.
Поля, которые влияют на SEO, удобство и поддержку магазина
Catproduct сам по себе не является SEO-инструментом, но его блок находится на товарной странице и влияет на поведение пользователя. Если таблица помогает выбрать комплект, страница становится полезнее. Если таблица создаёт повторяющиеся длинные списки, перегружает мобильный экран и дублирует текст из других карточек, она ухудшает восприятие. Поэтому настройку полей стоит рассматривать не только как дизайн, но и как часть качества товарной страницы.
Название товара и артикул помогают покупателю и поддержке говорить об одной и той же позиции. Цена помогает принять решение. Краткое назначение помогает отличить похожие аксессуары. Длинное описание, полные характеристики и большие изображения чаще лучше оставить в отдельных карточках товара, куда ведёт ссылка из таблицы. Иначе основная страница начнёт конкурировать сама с собой: вместо ясного комплекта покупатель увидит несколько мини-карточек внутри одной карточки.
Что показывать в таблице, а что оставить в карточке
| Поле | Когда включать | Когда лучше скрыть |
|---|---|---|
| Название | Почти всегда, потому что это основной ориентир строки. | Только в редком макете, где строка заменена изображением и подписью из другого источника. |
| Артикул | Для B2B, запчастей, складских товаров и поддержки по телефону. | Для простых витрин, где артикулы выглядят техническим шумом. |
| Изображение | Когда товары визуально различаются и картинка ускоряет выбор. | Когда изображения одинаковые, тяжёлые или ломают таблицу на мобильном. |
| Короткое описание | Когда в одной строке нужно объяснить совместимость или назначение. | Когда описание длиннее одной-двух строк и дублирует карточку товара. |
| Цена и налоговые подписи | Когда покупатель принимает решение прямо в таблице. | Когда магазин скрывает цены для гостей или использует запрос цены вместо покупки. |
После выбора полей проверьте страницу глазами покупателя и менеджера поддержки. Покупатель должен понимать, что выбрать. Менеджер должен по названию и артикулу легко найти позицию в заказе. Если одному из них не хватает информации, добавьте точечное поле. Если информации слишком много, уберите поле, которое не влияет на выбор.
Микротексты рядом с таблицей
Иногда проблема не в настройках Catproduct, а в отсутствии короткого пояснения рядом с блоком. Таблица появляется внезапно, и покупатель не понимает, зачем она нужна. Добавьте перед блоком один короткий абзац в описании товара: "Выберите нужные аксессуары и укажите количество. В корзину попадут только строки с указанным количеством". Это не требует вмешательства в код и часто снижает количество ошибок.
Если в магазине есть ограничения по количеству, напишите их человеческим языком. Например: "Расходники продаются упаковками, поэтому количество должно быть кратно значению в строке". Не нужно объяснять внутреннюю механику плагина. Покупателю важно понять, как заполнить таблицу и что произойдёт после кнопки.
Проверка результата: что смотреть в корзине, цене и шаблоне
После настройки нельзя ограничиться фразой "таблица появилась". Для магазина важен полный путь: строка отображается, количество вводится, цена понятна, кнопка отправляет выбранные товары, корзина принимает правильные позиции, а оформление заказа не ломается. Проверка должна имитировать реальные действия покупателя, а не только взгляд администратора.
Проверка корзины
Сделайте несколько тестов: добавьте одну строку, несколько строк, строку с количеством больше единицы, строку с минимальным количеством и строку с недопустимым значением. Затем сравните корзину с таблицей. Название, артикул, количество, цена за единицу и итог должны быть логичными. Если в магазине используются налоги, группы покупателей или скидки, проверяйте результат для гостя и для авторизованного пользователя нужной группы.
Отдельно смотрите, не добавляется ли товар повторно при обновлении страницы или возврате назад. Если покупатель нажал кнопку один раз, в корзине должен быть один ожидаемый набор строк. Дубли часто связаны не с самим плагином, а с повторной отправкой формы, кешированием страницы или нестандартной кнопкой шаблона.
Проверка цен и скидок
VirtueMart умеет показывать разные элементы цены, включая базовую цену, налог, скидку и итоговую цену. В конфигурации VirtueMart есть отдельный блок отображения цен, где разработчики прямо советуют тестировать варианты в небоевом магазине, потому что не все элементы очевидны. Для Catproduct это особенно важно: таблица не должна показывать одну цену, а корзина - другую без объяснения.
Если вы включили динамическое обновление цены, меняйте количество и проверяйте, обновляется ли сумма без перезагрузки. Затем всё равно добавляйте товар в корзину. Визуальный пересчёт на странице - это только подсказка. Истинный результат - то, что VirtueMart записал в корзину после применения правил цен.
Проверка шаблона и адаптивности
Таблица товаров часто выглядит нормально на широком экране и ломается на мобильном. Проверьте хотя бы три ширины: рабочий стол, планшетную ширину и узкий экран. Если колонок слишком много, уберите второстепенные поля. Если строки с изображениями становятся слишком высокими, попробуйте макет без изображений или уменьшите размер миниатюр через настройки шаблона и VirtueMart.
Не начинайте с CSS-правок, пока не исключили лишние поля. Самый чистый способ улучшить таблицу - уменьшить её смысловую перегрузку. CSS нужен, когда данные выбраны правильно, но отступы, ширина колонок или кнопки не совпадают с шаблоном сайта.
Производительность, кеш и безопасная доработка внешнего вида
Catproduct может выводить несколько товаров, цены, поля, количество, динамический пересчёт и общую кнопку. Для небольшого набора это нормальная нагрузка. Проблемы обычно появляются, когда администратор пытается вывести слишком много строк, включает динамическое обновление без необходимости, добавляет изображения большого размера или показывает все товары категории в контентном варианте без ограничения.
Для публичной страницы товара цель не в том, чтобы показать максимум данных, а в том, чтобы покупатель быстро понял набор и добавил нужные позиции. Поэтому оптимизация начинается с редакторских решений: ограничить число строк, отключить лишние поля, не показывать длинные описания и не включать динамическую цену без реальной скидочной логики.
Когда включать динамическое обновление цены
Включайте динамическое обновление цены, если покупатель должен видеть изменение суммы при количестве, скидке или варианте. Например, у товара есть скидка от количества, и таблица должна объяснить итог до добавления в корзину. Если цена за единицу постоянна, а итог всё равно подтверждается в корзине, динамический пересчёт можно оставить выключенным. Это соответствует логике официального описания, где динамическая цена нужна для quantity discount и может быть отключена, если не используется.
Как аккуратно улучшить внешний вид через CSS
У Catproduct могут быть разные макеты, а точные CSS-классы зависят от версии и шаблона. Поэтому универсальный snippet с выдуманными классами был бы плохой практикой. Безопаснее использовать обёртку вашего шаблона или добавить собственный класс вокруг области товара через переопределение шаблона Joomla/VirtueMart, если вы уже умеете это делать. Ниже пример не привязан к внутренним классам плагина: он показывает принцип оформления таблицы внутри вашего контейнера.
.product-bundle-table table {
width: 100%;
border-collapse: collapse;
}
.product-bundle-table th,
.product-bundle-table td {
padding: 10px 12px;
border-bottom: 1px solid #e5e7eb;
vertical-align: middle;
}
.product-bundle-table input[type="number"] {
max-width: 90px;
}
Вставляйте такой CSS только в файл пользовательских стилей вашего шаблона, не в ядро Joomla, VirtueMart или расширения. Перед применением убедитесь, что контейнер product-bundle-table действительно есть в вашем переопределении или вокруг блока. Откат простой: удалить этот CSS и очистить кеш шаблона. Если вы не делали переопределений, лучше сначала решить внешний вид настройками макета и полей.
Кеш и оптимизация скриптов
Если после включения кеша кнопка работает через раз, цена не пересчитывается или количество сбрасывается, проверяйте оптимизацию JavaScript. Не отключайте всё навсегда. Сначала исключите страницу товара или скрипты VirtueMart из объединения, проверьте результат и только потом ищите более точную настройку. Для магазинов с активной корзиной стабильность формы важнее небольшого выигрыша от агрессивного объединения скриптов.
Как Catproduct связан с Catproduct Content и дочерними товарами
В официальном каталоге рядом с Catproduct есть Catproduct Content и bundle, который объединяет оба решения. Это не просто дубль. Catproduct работает на странице товара VirtueMart, а Catproduct Content, согласно описанию, вставляет таблицу товаров в обычный материал Joomla через контентный плагин. Разница важна для структуры сайта.
Если задача - улучшить страницу конкретного товара, используйте Catproduct. Если задача - вставить группу товаров в статью, посадочную страницу, инструкцию или материал Joomla, нужен Catproduct Content. В описании Catproduct Content приведён пример команды {catproduct #ID[1,2,3,4]}, где перечисляются товарные идентификаторы, а также специальные команды для featured, recent, top, random и категории. Эти команды относятся к Content-версии, а не обязательно к базовому Catproduct на товарной странице.
Почему нельзя смешивать оба сценария без плана
На странице товара покупатель уже находится в контексте конкретной позиции. Там таблица должна поддерживать выбор вариантов, аксессуаров или комплекта. В статье Joomla контекст другой: пользователь читает руководство, подборку или промо-страницу. Там таблица может работать как встроенный список товаров. Если поставить обе логики в одно место, страница станет перегруженной: основной товар, таблица Catproduct, контентная таблица и обычные блоки VirtueMart будут конкурировать за внимание.
Особенность Generic child variant
Описание Catproduct Content содержит важное ограничение: он не работает с родительским товаром, если используется VirtueMart Generic child variant custom field, потому что такой выбор перенаправляет на страницу дочернего товара. Для базового Catproduct это не нужно автоматически переносить как стоп-фактор, но это хороший сигнал: любые пользовательские поля, которые меняют страницу или перенаправляют покупателя, нужно проверять отдельно. Если после выбора варианта пользователь уходит на другую страницу, таблица с общей кнопкой может потерять смысл.
Ошибки и диагностика VM Custom Catproduct
Большинство проблем с Catproduct возникает на границе трёх систем: данные товара VirtueMart, настройки плагина и шаблон/кеш публичной страницы. Ниже - практическая диагностика, которая помогает не угадывать причину, а проверять её по шагам.
Таблица не появляется на странице товара
Симптом: товар открывается, обычная карточка видна, но блока Catproduct нет. Возможные причины: плагин не опубликован, настройка не назначена товару, товар не имеет дочерних или attached products, выбранный макет не выводит блок в текущем шаблоне, страница показывает старую версию из кеша.
Проверьте, опубликован ли плагин Joomla, сохранён ли товар после добавления настройки, есть ли опубликованные дочерние или прикреплённые товары, видны ли они текущей группе покупателей. Затем очистите кеш Joomla, кеш шаблона и, если используется, кеш оптимизатора. Если после отключения кеша блок появился, ищите исключение для товарных страниц или скриптов VirtueMart.
Строки есть, но выбранные товары не добавляются в корзину
Симптом: таблица отображается, количество вводится, но корзина пустая или получает не те позиции. Сначала проверьте каждый товар отдельно обычной кнопкой VirtueMart. Если отдельная покупка не работает, проблема не в Catproduct. Если отдельная покупка работает, проверьте, не запрещены ли значения количества, не скрывает ли шаблон поле формы и не ломает ли оптимизация JavaScript отправку.
Отдельно проверьте сценарий с нулевым количеством. Некоторые таблицы должны игнорировать строки с пустым или нулевым значением. Если добавляются все строки подряд, смотрите значения по умолчанию в полях количества и настройки минимального количества.
Цена в таблице отличается от корзины
Симптом: пользователь видит одну сумму в таблице, а после добавления в корзину получает другую. Возможные причины: разные настройки показа налогов, скидка от количества, группы покупателей, отключённое или конфликтующее динамическое обновление цены, кешированная строка таблицы.
Проверьте цену как гость и как авторизованный пользователь нужной группы. Временно отключите динамический пересчёт и сравните статическую цену с итогом корзины. Затем включите пересчёт обратно, если он действительно нужен. Не обещайте покупателю скидку в названии строки, если правило скидки в VirtueMart не применяется в корзине.
Страница стала медленной
Симптом: карточка товара открывается заметно дольше после добавления Catproduct. Сначала уменьшите число строк и отключите лишние поля. Затем проверьте изображения: большие миниатюры, несколько ценовых элементов и динамическое обновление цены могут увеличивать нагрузку. Если используется Content-версия и команда категории, не выводите всю большую категорию без ограничения.
Когда лучше откатить настройку: если даже после сокращения строк страница остаётся тяжёлой, уберите Catproduct с этого товара и оставьте обычные связанные товары или отдельные страницы. Таблица с множественным добавлением должна ускорять покупку, а не ухудшать основную карточку.
Макет ломается на мобильном экране
Симптом: колонки сжимаются, кнопка уезжает, количество не видно. Причина почти всегда в избытке колонок или конфликте CSS шаблона. Уберите второстепенные поля, проверьте другой макет, уменьшите изображения, затем применяйте CSS только через пользовательский файл шаблона. Не правьте файлы расширения напрямую, потому что обновление может затереть изменения.
Дочерние товары показываются не так, как ожидалось
Симптом: в таблице нет нужного варианта, порядок странный или дочерний товар наследует не те данные. Проверьте саму структуру VirtueMart: дочерний товар должен быть опубликован, иметь корректный alias, цену, категорию или нужное переопределение. Если значение меняется у родителя, дочерние товары могут наследовать его, если не переопределяют своё значение. Это стандартная логика parent/child products, и Catproduct только показывает результат.
Вопросы по настройке и ограничениям
Можно ли использовать VM Custom Catproduct без дочерних товаров?
Да, официальное описание Catproduct говорит, что расширение первично показывает дочерние товары, но может выводить и другие прикреплённые товары. Для такого сценария подготовьте список product_id или product_sku и проверьте, что каждая позиция отдельно доступна к покупке.
Подойдёт ли расширение для большого списка товаров категории?
Для базового Catproduct лучше использовать короткие осмысленные наборы на странице товара. Если нужно выводить товары категории в материале Joomla, смотрите Catproduct Content, но даже там описание предупреждает, что вывод всех товаров большой категории может замедлить страницу. Ограничивайте число строк и проверяйте скорость.
Нужно ли включать динамическое обновление цены?
Включайте его, если у вас есть скидки от количества, важные изменения цены или покупателю нужно видеть итог до корзины. Если цены простые, динамическое обновление можно отключить, чтобы не добавлять лишнюю нагрузку и не усложнять диагностику.
Почему Catproduct не заменяет обычные варианты товара?
Обычный вариант товара удобен, когда покупатель выбирает один вариант. Catproduct удобен, когда покупатель может выбрать несколько строк сразу. Если сценарий не требует множественного выбора и общей кнопки, стандартные поля VirtueMart могут быть проще.
Можно ли править макеты расширения напрямую?
Править файлы расширения напрямую не стоит. Используйте настройки полей и макетов, пользовательский CSS шаблона или аккуратные Joomla/VirtueMart-переопределения, если вы понимаете структуру шаблона. Прямая правка файлов расширения может исчезнуть после обновления.
Что делать, если таблица показывает товары, но корзина получает неправильное количество?
Проверьте минимальное и максимальное количество, количество в упаковке, значения по умолчанию и работу обычной кнопки VirtueMart для каждой позиции. Затем отключите кеш и оптимизацию скриптов на тесте. Если ошибка пропала, настройте исключения для товарной страницы или нужных скриптов.
Есть ли точный обучающий ролик по VM Custom Catproduct?
Во время проверки точный полезный YouTube-ролик именно по VM Custom Catproduct не был найден. Лучше опираться на официальную страницу продукта, доступные скриншоты в карточке, документацию VirtueMart и тестовую установку на копии сайта.
Когда VM Custom Catproduct будет удачным выбором
VM Custom Catproduct стоит использовать, когда страница товара должна стать точкой выбора нескольких связанных позиций: вариантов, аксессуаров, расходников или элементов комплекта. Его сильная сторона - не декоративная витрина, а практическая форма, где покупатель выбирает строки и добавляет их в корзину одним действием.
Перед запуском на боевом сайте проверьте три вещи: данные товаров VirtueMart, настройки таблицы и полный путь до корзины. Если дочерние или прикреплённые товары аккуратно подготовлены, поля таблицы не перегружены, динамическая цена включена только по делу, а шаблон не ломает форму, расширение может заметно упростить покупку сложных наборов.
Если ваша задача совпадает с этим сценарием, после теста на копии сайта можно загрузить архив с VM Custom Catproduct и проверить его на своём каталоге. Начинайте с одного товара и малого набора строк: так вы быстрее увидите реальную пользу и не смешаете настройку расширения с общими проблемами VirtueMart.
Если же вам нужен блок товаров в позиции шаблона, таблица внутри статьи Joomla или навигация по категориям, посмотрите соседние решения из раздела выше. Правильный выбор здесь простой: Catproduct - для товарной страницы и множественного добавления, Catproduct Content - для материалов Joomla, модули товаров и категорий - для витрин и навигации.
Соседние материалы | ||||
|
JD Blue Pay - Расширение Joomla | J2Store Royal Mail - Расширение Joomla |
|
|


