Модификации товаров и почему это сложно
Для простых товаров достаточно указать название, описание и цену, но вот когда товаров становится больше, а многие из них отличаются по размеру, цвету и т.п., на выручку приходят модификации товаров, которые и позволяют вместо 30 маек создать три размера и 10 цветов, чтобы покупатель мог просто выбрать нужную пару параметров, а не перебирать три страницы в поисках нужной модификации.
Звучит круто, но на самом деле это весьма нетривиальная задача. Для начала мы сделали интерфейс с возможностью выбора, будет ли товар обычный или с содержанием модификаций.
Если пользователь выбирает товар с модификациями, то ему нужно добавить модификаторы и их варианты. Чем больше будет значений, тем больше модификаций у одного товара, причем рост идет экспоненциально, например три варианта у двух модификаторов, создают 9 модификаций, а у трех модификаторов уже 27 и т.д.
Затем пользователь выбирает какие из возможных модификаций ему нужны и заполняет их характеристики. Таким образом можно создать абсолютно любой набор модификаций. Но самое сложное при разработке такой системы — создание подходящей структуры данных, ведь она должна быть достаточно нормализованной, хорошо отображаться как в интерфейсе, так и в собранном сайте, а ещё быть наглядной при импорте и экспорте товаров, но об этом в другой раз.