Расширение добавляет в интернет-магазин DIAFAN.CMS полноценную систему товарных комплектов. Комплект — это товар, который состоит из других товаров каталога с указанным количеством каждого участника и возможностью привязки к конкретному варианту. Цена комплекта рассчитывается автоматически на основе цен участников или задаётся вручную. Остаток комплекта определяется по наличию его составляющих и обновляется автоматически.
Расширение реализовано через штатный механизм кастомизации и не затрагивает файлы ядра CMS. При обновлении DIAFAN расширение сохраняет работоспособность.
Поддержка
Если у вас возникли вопросы по установке, настройке или использованию расширения — напишите мне. Я бесплатно помогу разобраться и отвечу на ваши вопросы. Если, на ваш взгляд, расширению не хватает какой-либо возможности, тоже сообщите — такие предложения помогают делать его лучше.
Личные сообщения: написать на сайте DIAFAN
Telegram: @weissfl
Яндекс.Чат: открыть чат
E-mail: dmitry.pr@gmail.com
Сценарии применения
Расширение решает задачу продажи нескольких товаров как единого целого — при условии, что эти товары уже существуют в каталоге и могут продаваться по отдельности. Типичные примеры: подарочные наборы, комплекты оборудования, наборы расходных материалов, мебельные гарнитуры, тематические подборки.
Основная практическая ценность — автоматизация рутины. При изменении цены или остатка любого участника, цена и доступность комплекта пересчитываются без участия менеджера. Если хотя бы один участник заканчивается на складе, комплект автоматически становится недоступен для покупки. При списании остатков по заказу уменьшаются остатки именно тех товаров, которые входят в комплект, а не абстрактная позиция «набор».
Расширение также подходит для случаев, когда участники комплекта имеют варианты (например, цвет или размер) — можно указать конкретный вариант каждого участника.
Функциональность
Управление составом комплекта
Состав комплекта формируется в стандартном блоке «Набор» на странице редактирования товара в панели администрирования. Для каждого участника указывается количество в комплекте. Если у товара-участника есть варианты (например, «Цвет: Черный», «Размер: L»), в интерфейсе появляется выпадающий список для выбора нужного варианта. При добавлении нового участника автоматически подставляется первый доступный вариант.
Вложенные комплекты не допускаются — расширение отклоняет попытку добавить в состав товар, который сам является комплектом.
Ценообразование
Расширение поддерживает два режима ценообразования:
Ручной — если у товара-комплекта задана цена больше нуля, она используется как есть. Это позволяет назначить фиксированную стоимость набора. Автоматический — если цена не задана или равна нулю, итоговая стоимость вычисляется как сумма цен участников с учётом количества каждого из них. При этом для каждого участника берётся цена того варианта, который выбран в составе комплекта. Индивидуальные скидки участников учитываются в расчёте.
Переключение между режимами происходит естественно: достаточно задать или обнулить цену товара-комплекта.
Управление остатками
Остаток комплекта — производная величина, которая рассчитывается автоматически на основе остатков участников. Формула: для каждого участника остаток делится на его количество в комплекте, затем берётся минимальное значение с округлением вниз. Например, если в комплект входят 2 штуки товара A (остаток 10) и 1 штука товара B (остаток 3), доступное количество комплектов = 3.
Когда производный остаток падает до нуля, товар-комплект автоматически получает статус «нет в продаже». При поступлении товара на склад — становится доступным снова.
Пересчёт запускается при добавлении и удалении участника, при сохранении состава, а также при каждом обращении к цене комплекта (на витрине, в фидах).
Поддержка вариантов
Каждый участник комплекта может быть привязан к конкретному варианту товара. Это актуально для товаров с параметрами, влияющими на цену и остаток (цвет, размер, объём и т.д.).
В панели администрирования вариант выбирается из выпадающего списка. Метка варианта формируется автоматически на основе параметров товара — например, «Цвет: Черный» или «Размер: XL».
На витрине, в карточке комплекта, рядом с каждым участником отображается название выбранного варианта и количество в комплекте.
Фиксация состава при оформлении заказа
В момент оформления заказа расширение сохраняет текущий состав каждого комплекта: какие товары входили, в каком количестве и с каким вариантом. Эта информация хранится отдельно от основных данных заказа.
Это защита от ситуации, когда состав комплекта изменяется после оформления заказа. Независимо от дальнейших изменений, списание остатков и просмотр состава в карточке заказа всегда работают по тому составу, который был актуален в момент покупки.
Списание остатков участников
При переводе заказа в статус, предусматривающий списание остатков, расширение уменьшает остатки не у товара-комплекта, а у каждого его участника — с учётом количества в комплекте, количества заказанных комплектов и выбранного варианта.
Операция обратима: при возврате в статус без списания остатки участников восстанавливаются. После каждой операции производный остаток комплекта пересчитывается.
Диагностическая панель
На странице редактирования товара-комплекта в панели администрирования отображается диагностический блок. Он показывает текущий режим ценообразования (ручной или авто), рассчитанную цену комплекта, производный остаток, статус доступности к покупке и таблицу участников с указанием варианта, остатка и количества в комплекте.
Совместимость с внешними фидами
Выгрузки в Яндекс.Маркет, Google Merchant, YML и 1С не требуют дополнительной настройки. Фиды используют стандартные методы получения цены, которые расширение перехватывает — комплекты получают корректную агрегированную цену автоматически.
Ограничения
Вложенные комплекты не поддерживаются — товар-комплект не может быть участником другого комплекта. Скидки на уровне комплекта (например, «скидка 10% на весь набор») в текущей версии не реализованы. При этом индивидуальные скидки участников в автоматическом режиме учитываются корректно.
Сотрудничество
Если вам нужна помощь с разработкой, сопровождением сайтов, настройкой серверов, автоматизацией или другими IT-задачами — напишите мне. Буду рад помочь с вашим проектом, ответить на вопросы и предложить подходящее решение.
Личные сообщения: написать на сайте DIAFAN
Telegram: @weissfl
Яндекс.Чат: открыть чат
E-mail: dmitry.pr@gmail.com
Создайте тему в интерфейсе «Темы и дизайн» и импортируйте туда скачанный архив. При создании отметьте опцию «Применить». ВНИМАНИЕ! Если на сайте уже существует активная тема дизайна и её нужно сохранить, импортировать архив нужно в уже примененную тему.