Здравствуйте. Давайте поговорим
Предлагаю пообсуждать, пофантазировать на счёт одной очень интересной темы.... Говорят, мол правильно заданный вопрос уже несёт в себе ответ.
Никак не могу понять как лучше делать связку размер-цвет для нескольких товаров. Дать пользователю возможность выбора цвета-размера. Да ещё и предположим цены меняются в зависимости от цвета-размера.
Давайте пока абстрагируемся от различных 1с, автоматизаций и т.п., но несколько условий оставим.
Итак, у нас такая задача: есть следующие товары
ботинки синии 31 размер, ботинки синии 32 размер, ботинки синии 33 размер,
ботинки зелёные 31 размер, ботинки зелёные 32 размер, ботинки зелёные 35 размер.
Для каждого товара нам нужно хранить количество на складах. Складов несколько. При продаже товара нужно понимать какой конкретно товар продался, с какими параметрами размер-цвет.
Нужно, что бы пользователь зашёл на сайт, увидел ботинки и ему предложили имеющиеся размеры и цвета.
Как лучше на umi сделать эту связку ?
Я лично вижу так:
1) выбираем один из объектов и привязываем к нему остальные ссылкой типа дерево. Остальные объекты выключаем. Остальные объекты нам нужно хранить для того, что бы считалось их количество и т.п....
Кликая по цветам/размерам на заднем фоне подменяем id объектов для добавления в корзину, ну и покупаем уже нужный товар (ведь через udata можно получить данные выключенных объектов по id). Но блин ссылка в корзине будет весьти к выключенному объекту... Ну обдумать можно.
Я склоняюсь к этому варианту, но мне кажется будет много запросов. Можно конечно раз в день/после синхронизации заполнять в основном объекте поля, но как-то не знаю....
2) создаём КАТАЛОГ "ботинки", в который уже помещаем эти все ботинки.
Пользователь выбирает ботинки, подменяем ему id для добавления в корзину, ссылки из корзины видут на нужный объект, но он не будет связан с остальными объектами... Логично ведь, если выбирали ботинки, были различные цвета - вернуться надо туда же и что бы размер/цвет был уже выбран. Ну вроде можно сделать так, что когда module="catalog" method="object" - анализировать нужно ли получать parentId и делать getObjectList...... Т.е. нужно как-то определить, что делать - выводить только этот объект, получать родителя и искать "соседей",.....
Вроде бы это всё даже логичнее.... url конечно бешенный будет. каталог/объект...
Да и если один товар будет - для него так же нужно создавать категорию и кидать туда... Или можно и без этого обойтись.
Или сделать вообще такую комбинацию -
ботинки\синие 31
ботинки\синие 32
ботинки\синие 33
ботинки\зелёные 32
ботинки\зелёные 33
ботинки\зелёные 35
балетки(объект каталога)
сланцы(объект каталога)
Написать макрос, смесь GetObjectList и getCategoryList, в котором будут выводиться И категории И объекты (они ведь суть есть наследники/дети для верхней категории), это вроде не сложный кастом.
3) используем опционные свойства в umi, через составные свойства. Вообще не вижу это решение. Всё, что связано с umi приходится переписывать и делать самому, поэтому пытаться понять это мой мозг просто отказывается.
Создаём тип данных "характеристики" с полями [цвет][размер][цена](ну или цену задать можно уже в объекте), разрешаем пользовать как справочник. Добавляем в наш тип данных, который объект каталога. Заходим, выбираем цвет-размер, дописываем цену. А как привязать к какому-либо складу ? А если складов несколько ?
Вот тут я вообще уже не вижу....