Однажды в закрытом форуме мы уже давали ответ на подобный вопрос.
Попробуем рассмотреть его тут детальнее.
Цитата |
---|
Сергей С. пишет: Делать на каждый размер свой товар не хотелось бы, это очень не удобно. Плюс возможно надо будет сделать тоже самое в зависимости от цвета товара.. |
Вообще, в бухгалтерских системах обычно так товар не хранится. Т.е. одной позиции товара соответствует одна цена и один уникальный код, штрих код (VIN, SCU, XML_ID и подобные аббревиатуры).
Т.е. разный размер товара соответствует разному коду.
Бывают случаи, когда в бухгалтерии не хранят размеры. Мол приняли товар, а цвет и размер в ассортименте. Тогда в системах хранится один товар и выгрузить его и анализировать в разрезе не получается.
Теперь посмотрим, как решить данную проблему представления с продуктом:
Цитата |
---|
Сергей С. пишет: Хотелось бы ,что бы пользователь добавлял в корзину товар и мог бы при этом выбрать какое кол-во ему необходимо для каждого размера. Т.е. пользователю необходимо 3 шт. данного товара одного размера и 1 шт. того же товара другого размера. |
Каталог делается на базе информационных блоков. Рассмотрим на примере дверей разного размера.
Еще раз повторился бы, что правильным с точки зрения бухгалтерии будет вариант ввода разных позиций товара:
1. Стол 100 см
2. Стол 120 см
и т.д.
Для этого достаточно одного информационного блока.
Для удобства такой вариант можно реализовать с использованием свойств. Т.е. определить в свойствах инфо-блока свойство размер и указывать его для столов и потом искать по нему.
Второй вариант основан на двух инфо-блоках.
Первый инфо-блок создается для хранения каталога товаров. Так как обычно товары бывают не только столы, но и стулья, диваны, гвозди, клей и т.п. То в этом инфо-блоке будет храниться дерево товаров + общие описания самих товаров.
В нашем случае все столы в дереве каталогов будут представлены одной записью "Стол" с какими-то общим описанием товара.
Для хранения конкретных позиций, назовем их Предложениями, создадим еще один инфо-блок. В нем одно из свойств будет типа "привязка к элементам" и будет указывать на дерево каталогов.
Например, все позиции столов будут представлены каждый отдельными записями с разными свойствами размера в инфо-блоке Предложения. Каждый стол будет так же иметь ссылку на Стол в каталоге товаров.
При показе посетитель может выбирать стол и увидеть под ним все варианты предложений данного товара.
В общем, второй варианте не исключает загрузку данных из 1С или другой бэкофисной системы. И вы всегда будете иметь возможность каталог товаров делать удобным для клиентов, а Предложения удобными для реальной продажи.
Конечно, в корзину добавляются объекты из каталога Предложений и они же продаются.
Если необходимо реализовать возможность добавления товара в корзину покупателя с выбором цвета и размера при добвлении.
Для такой задачи можно предложить опять же два варианта реализации в зависимости от идеологии построения каталога.
Если все товары у вас уместились в один каталог, но вы наполнили их свойствами, то в корзине можно сделать выбор свойства как опции товара и сохранять выбранное значение в одном из свойств модуля Интернет-магазина после оформления заказа.
Если вы сделали два инфо-блока: каталог Товаров и каталог Предложений.
Будем считать, что товары в каталоге Предложений обладают свойствами Цвет и Размер. В корзине делается дополнительная обработка, которая позволяет сгруппировать товары по определенной категории каталога Товаров, выбрать доступные для заказа свойства Предложений и показать возможность смены опции для выбора. Реально при смене опции в корзине, происходит удаление одной позиции и добавление другой позиции со своими уникальными идентификаторами. Но делается это прозрачно для пользователя.
Последний вариант немного мудренее для реализации корзины, но он будет более правильным для бухгалтерского учета, так как каждый раз при смене опции будет продаваться уже другой товар соответствующий коду товара в бухгалтерии.