Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Пишу модуль на тему вариации товаров


Recommended Posts

Прошу совета по архитектуре модуля, бизнес-логике.

Идея написать модуль возникла по желанию автоматизировать создание и внесение изменений в группы товаров со схожими характеристиками (иногда их называют вариациями товаров). А также облегчить процесс поиска и выбора подходящего товара покупателем.

 

Например, есть один тип товара, характеристики которого можно разбить на группы и подгруппы по 5-7 критериям в каждом 2-10 значений. Не все вариации возможны: некоторые сочетания не производятся, что-то нет в наличие, что-то под заказ. Ряд вариаций отличается лишь отдельными цифровыми характеристиками, а другие различаются внешним видом и требуют разных изображений. Уже эта комбинация порождает несколько тысяч вариаций.

 

Изучал, как уже решается подобная задача. Основных решения два:

1) через сочетания опций.

  • Плюс: готовая удобная выборка для покупателя, управляем вариациями в одном товаре, описаний мало, легко поддерживать.
  • Минус: по сути имеем один или несколько товаров. Отсюда проблема с настройками акций, скидками, артикулами, фильтрами (актуальные сочетания), SEO ссылками на вариации. Вопросы эти решают через костыли, пытаясь в итоге создать товары из опций.

2) созданием отдельных товаров.

  • Плюс: вариации представляют из себя "настоящие" товары, отсюда в плюс, что в предыдущем варианте было в минусах.
  • Минус: имеем много вариаций товаров - возможный зоопарк в моем случае из  ~4000 товаров (но актуально около трети, что тоже немало). Имеем сложности с созданием и поддержкой этого добра, много одинаковых описаний, много ошибок при вводе, проблемы с поисковиками из-за одинаковых описаний. Для покупателя тут минусов нет при наличии нормального фильтра.

 

Выбрал второй путь и решить проблему с минусами путем использования товаров-шаблонов для генерации вариаций товаров, а также внесения в них изменений. При этом из одного шаблона можно генерировать другие шаблоны, создавая подгруппы, вносить в них изменения и генерировать дальше. Одни характеристики при этом копируются, другие модифицируются по логике различия вариаций, требований к идентификации и SEO. Можно потом разнообразить описание товаров, чтобы избежать санкций от поисковиков. Но как вариант, конечные вариации просто не светить поисковикам, но разрешить шаблоны. Таким образом мы имеем контролируемую древовидную структуру. А создать,настроить, поддерживать группу из нескольких тысяч товаров можно очень быстро. Для обновления нужно вносить изменения в шаблоны и обновлять вариации.

 

Модуль в тестовом варианте уже написал, работает и приносит некое моральное удовлетворение :)

Для задания множества вариаций использовал атрибуты. В товаре-шаблоне нужно указать их через запятую, в дальнейшем из выбранных таких атрибутов автоматом генерирую возможные вариации, удаляю неактуальные и затем лишь создаю вариации товаров. Вот думаю, насколько атрибуты подходят для этого. Есть мысль использовать вместо атрибутов для определения множества вариаций настройки стандартного фильтра OC, там можно создать группы фильтров с метками, и подвязать нужные группы в шаблон-товара, и использовать их для генерации вариаций. Что предпочтительнее? 

Для карточки товара пишу "умный" фильтр выборки из актуальных вариаций, который предполагаю привязать к товару-шаблону. Потому для покупателю достаточно работать с товаром-шаблоном (как с опциями), а в корзину будет помещаться уже товар-вариация.

 

Попробовал описать как мог. Модуль пока не том виде, чтобы выложить на обозрение. Буду признателен за критику и советы :)

 

Надіслати
Поділитися на інших сайтах


Пишите
будет ещё один в копилку
https://opencartforum.com/files/category/63-serii-komplekty/

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.