Подскажите пожалуйста, каким образом реализуется логика товаров с разными атрибутами, по типу цвета, размера и тд. Для каждого товара разные значения атрибутов, допустим есть футболки. Для футболки красного цвета, есть только размер XL и M , а для футболки зеленого цвета, размер L. При выборе разных атрибутов, должна быть разная цена. И допустим для разных товаров есть некие дополнения, допустим к футболке можно добавить нашивку или значок, это тоже плюс к цене. Как потом должны выглядеть чеки в базе данных и их заказы.