Атрибут Drupal Commerce

Главные вкладки

Аватар пользователя MishaZP MishaZP 18 марта 2012 в 1:33

Как сделать форму для выбора атрибута в Drupal Commerce?
Покупатель должен выбрать атрибут размер, который не влияет ни на SKU ни на цену, ни на картинку, т.е. просто заносится в заказ как отдельное поле, и должен быть виден в списке заказов администратору.
Создание для каждого размера отдельного товара будет очень сложно и не логично... У каждого товара и так около 25 вариаций учитывая поле ассортимент и цвет.

Комментарии

Аватар пользователя sight sight 5 июля 2012 в 21:27

Можно по подробней ? при создании товара можно указывать какие цвета включать в список а какие нет ?

Аватар пользователя MishaZP MishaZP 1 ноября 2012 в 1:40

"luzh1n" wrote:

Store - конфигурация - line item types - (тип материала, в который добавляешь товары): line item types - добавить новое поле (у меня это размер, тип поля-список (текст), виджет-выбор из списка, количество значений 1, и список допустимых значений:
1|S
2|M
3|L
4|XL
5|XXL
Надеюсь, помог, на коммерцгайз есть более подробное описание line items, могу только сказать еще, что эта штука не влияет ни на цену, ни на что-либо другое, просто клиент допустим выбрал какой-то вариант, и в админке на странице заказов покажет, что именно он выбрал.

Аватар пользователя vitaboss vitaboss 12 января 2013 в 14:08

Как создать поля для ввода атрибут пользователем и влияющий на цену продукта. Например: пользователь вводит ширину и высоту, эти два параметра перемножаются и результат становится количеством.

Аватар пользователя vitaboss vitaboss 14 января 2013 в 3:34

"qqqarmani" wrote:
Подобного я не видел.....

Походу дела, никто не видел, такого решения нет ни на одной CMS даже заточенной конкретно под торговлю. Все продают штучные товары определенного размера, цвета, веса, вкуса и т.д.... все параметры можно выбрать мышкой и сравнить. Как продавать товары тоже стандартные и формирующиеся на заказ?

Аватар пользователя vitaboss vitaboss 14 января 2013 в 4:23

Я хочу продавать только на друпал7 и у меня товары в метрах квадратных.

Я установил уберкарт, комерц, все возможные модули, настроил все возможные атрибуты, перепробовал все, могу сейчас создать сайт по продаже футболок с размерами цветами изображениями и т.д. Вопрос свой решить не могу...

Мне нужен атрибут вводимый пользователем - ширина и высота (ввиде числового поля, т.е. число равно цене) в см перемножающиеся, т.к это целые числа, затем выбираем материал из атрибутов, он имеет тоже цену, перемножаем. Получаем итоговую цену, ну и количество в м.кв. Размечтался... На самом деле ни на убере ни на комерце нет такого решения. Ставил мадженту, там вообще тьма, разобрался конечно, но там вес обязательно поле...

Аватар пользователя graker graker 14 января 2013 в 11:59

aa2007 wrote:
А если рулесами при оформлении заказа перемножать поля атрибутов и менять цену?

Именно так оно и делается.
Вот здесь: http://commerceguys.com/blog/using-custom-line-items-provide-donation-fe... описание и скринкаст, как сделать donation задаваемого пользователем числа денег.
Аналогичным образом можно сделать и зависимость цены от задаваемых юзером габаритов.

Аватар пользователя multpix multpix 14 января 2013 в 12:14

"vitaboss" wrote:
Мне нужен атрибут вводимый пользователем - ширина и высота (ввиде числового поля, т.е. число равно цене) в см перемножающиеся, т.к это целые числа, затем выбираем материал из атрибутов, он имеет тоже цену, перемножаем. Получаем итоговую цену, ну и количество в м.кв. Размечтался...

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

Аватар пользователя vitaboss vitaboss 14 января 2013 в 18:00

"multpix" wrote:
множит(и округляет) высоту на ширину

Есть модуль commerce_decimal_quantities он разрешает работать не только с целыми числами. Но моем случае если работать с см то всегда получиться целое число.

"multpix" wrote:
ну а добавить выбор опции влияющей на цену не проблема.

Этот набор опций имеет цену и изображение как поменять глобально для всех товаров одновременно?

У меня задача такая: В магазине один единственный тип товара не имеющий вообще цены. На самом деле эти картинки должны были бы быть атрибутами, а товаром один из атрибутов который я прикручиваю к картинке, но так как их может быть несколько тысяч делаем их товарами. Атрибут это рулонный материал с различными поверхностями на которую наносим картинку. Какие поверхности есть в наличии такие и включаем глобально для всех товаров. Пользователь выбирает картинку, выбирает доступный атрибут (т.е. материал который есть в наличии), вводит размеры (ширину и высоту) это становиться количеством. Далее умножается на цену материала и получается итоговая стоимость.

Аватар пользователя multpix multpix 14 января 2013 в 18:34

"vitaboss" wrote:
У меня задача такая: В магазине один единственный тип товара не имеющий вообще цены. На самом деле эти картинки должны были бы быть атрибутами, а товаром один из атрибутов который я прикручиваю к картинке, но так как их может быть несколько тысяч делаем их товарами. Атрибут это рулонный материал с различными поверхностями на которую наносим картинку. Какие поверхности есть в наличии такие и включаем глобально для всех товаров. Пользователь выбирает картинку, выбирает доступный атрибут (т.е. материал который есть в наличии), вводит размеры (ширину и высоту) это становиться количеством. Далее умножается на цену материала и получается итоговая стоимость.

прошу не принимать как единственно верное руководство к действию, а просто рассмотреть идею:

делаем несколько product
(каждый со своим материалом/поверхностью и ценой за м²)
тобишь у продукта поле "поверхность" будет с галкой Enable this field to function as an attribute field on Add to Cart forms. грубо говоря.
сколько поверхностей - столько и продуктов

делаем тип ноды display_product
в него поле картинку
и в поле ссылка на продукт указываем все ранее созданные продукты

метраж который нужен покупателю - это по сути кол-во товара а не атрибут,
и тут мыслить форму которая спросит x и y потом помножит это и закинет в кол-во заказываемых метров кв.

Аватар пользователя vitaboss vitaboss 14 января 2013 в 18:55

multpix , Да! именно так я и начинал создавать интернет-магазин. Столкнулся с проблемой и недавно создавал тему мне туда никто не ответил.

Задачу пытаюсь решить таким способом: Создаю 4 товара, присваиваю цену. Затем создаю тип нод - продукция. Добавляю поле "изображение" ноды, делаю доступными все товары. У ноды появились варианты выбора из доступных товаров. Делаю демо заказ, все получается, только в админке не понятно с какой ноды сделан был заказ (нода содержит изображение каталога). Какое изображение выбрал пользователь? Как решить такой вопрос? Может не тем путем иду?
К заказу нужно обязательно изображение от ноды (display_product) прикрутить. Ширину с высотой тоже нужно знать в отдельности, а количество м.кв это чтобы цену посчитать.

Аватар пользователя multpix multpix 14 января 2013 в 19:08

"vitaboss" wrote:

вроде как во вьюс ордеров можно вытаскивать поля связанной ноды
было обсуждение http://www.drupal.ru/node/80876
там корзина, у вас ордера, суть одна
но...
как сие будет выглядеть в случае мильон_дисплеев->общие_для_всех_продукты
с ходу не скажу, ибо, сорри, температурю и туплю)

Аватар пользователя vitaboss vitaboss 14 января 2013 в 23:26

"multpix" wrote:
вроде как во вьюс ордеров можно вытаскивать поля связанной ноды

Пытался сделать, не получилось...

Все равно вопрос остается по поводу ввода размеров. Атрибуты в виде полей как-то можно сделать?

Аватар пользователя vitaboss vitaboss 15 января 2013 в 0:56

"multpix" wrote:
вроде как во вьюс ордеров можно вытаскивать поля связанной ноды
было обсуждение http://www.drupal.ru/node/80876
там корзина, у вас ордера, суть одна

Огромное вам спасибо. У меня получилось урл ноды в заказ теперь прикрепляется.

Подскажите, как все таки сделать два числовых поля атрибутов вводимых пользователем.

Аватар пользователя vitaboss vitaboss 15 января 2013 в 13:50

"graker" wrote:
Аналогичным образом можно сделать и зависимость цены от задаваемых юзером габаритов.

Я так понимаю, что в в один нод дисплей можно запихнуть четыре товара и предоставить выбор пользователю, будет что-то типа атрибутов.

Подскажите пожалуйста, как туда же прикрутить еще два разных donation (ширину и вытоту). Это возможно? Они все хотят быть товарами в товаре и кнопки "добавить в корзину" создаются. Можно было бы все в одном типе позиций создать, но мне не только цену посчитать нужно, еще и параметры в заказ обязательно нужно передать, а они в корзине все под одним наименованием создаются.

Аватар пользователя graker graker 15 января 2013 в 14:02

Вы неправильно все поняли.
Ширину и высоту пихать надо - если по аналогии с донейтом - в лайн айтем. В корзине поля из лайн-айтема тоже можно показывать.

Аватар пользователя multpix multpix 15 января 2013 в 16:38

"vitaboss" wrote:
Подскажите, как все таки сделать два числовых поля атрибутов вводимых пользователем.

я опять же имхо:
длиннахширина=площадь суть не атрибут, а кол-во заказываемых (м² или че там принято за минимальное)

и теперь поэтапно:
если вопрос со связкой витрина-учет решен, и все красиво приходит в ордера и корзину, то ставить на нем - сделано и думать дале.

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

За рамки теории не выхожу - ибо свое поджимает, но на ваш результат погляжу не без интереса, когда завершите))

Аватар пользователя vitaboss vitaboss 15 января 2013 в 18:30

"graker" wrote:
Ширину и высоту пихать надо - если по аналогии с донейтом - в лайн айтем. В корзине поля из лайн-айтема тоже можно показывать.

Я правильно понял, по аналогии пытаюсь себе сделать, к товару (или к нодедисплею?) нужно добавить два поля select or ather, нужно сделать чтобы они были отдельными типами, чтобы в карзине (в заказе их различать). Скажите, можно сделать так, создать custom line item, затем три отдельных товара (два из них это ширина и высота), а третий рулонный носитель, прикрутить это к ноддисплею, перемножая вводимую ширину на высоту и на известную стоимость рулонного материала, получаем результат. Но все эти параметры должны построчно быть в заказе как отдельные позиции. Отдельный donation сделал, вроде как ничего лучше из готового нет. Этот вариант это для меня пока сейчас самый доступный.

"multpix" wrote:
длиннахширина=площадь суть не атрибут, а кол-во заказываемых (м² или че там принято за минимальное)

Все верно, это заказываемое количество. Но не все так просто...

"multpix" wrote:
если вопрос со связкой витрина-учет решен, и все красиво приходит в ордера и корзину, то ставить на нем - сделано и думать дале.

Витрина-деньги-учет можно сказать решен, но витрина-заказ не решен. Т.к. 6м.кв. может получиться как из 200х300 (см), так и из 300х200 (см). А это очень важно в заказа, т.к. картинка (а точнее фото, какой-то сюжет) ноддисплея, может быть любой, как вертикальной, так и горизонтальной либо квадратной. А заказчик указывает размеры, которые потом нужно применить обрезать в размер согласовать и т.д.

"multpix" wrote:
А дале, я бы отдельным модулем писал бы поле, которое просит у покупателя два числа и шлет их произведение в кол-во заказа. Это идея, и при ее реализации, думаю, всплывет еще несколько моментов, о которых сейчас и не мыслим.
Но главное, что проблема локализована. И решать ее можно параллельно с другими задачами, без ущерба всему остальному.

Это было бы вообще круто!!! Конечная цель именно такая, только к двум полям нужно прикрутить еще вот это http://deepliquid.com/projects/Jcrop/demos.php?demo=handler Но в этом случае обязательно сохранять в заказе помимо всех вводимых данных и саму обрезанную картинку. Ее куда-то в папку с заказами нужно будет складывать и ссылка но обрезанное заказанное изображение. Облом в том, что я не программист.
Скажите, сколько на вскидку будет стоить такое решения для commerce? Кто может сделать? Интересует в двух вариантах со скриптом обрезки и без.

"qqqarmani" wrote:
И у меня есть вопрос как сделать ?
Пример тут http://www.promuscles.ru/products/16/animal-pak
Блок Добавления в корзину.
Сделано на Drupal

Это jQuery.

Аватар пользователя multpix multpix 15 января 2013 в 19:31

"vitaboss" wrote:

Максим, пробуйте с Романом договориться, если он не имеет ничего против.

Роман(graker) - мои извинения за переведенную стрелку )))

Аватар пользователя multpix multpix 15 января 2013 в 20:03

"graker" wrote:

главное что качественно))

кстати прошлым числом мое вам спс,
был нарвался на исходник простой аякс корзины - подкрутил его немного для себя)

Аватар пользователя graker graker 15 января 2013 в 20:35

multpix wrote:
кстати прошлым числом мое вам спс,
был нарвался на исходник простой аякс корзины - подкрутил его немного для себя)

Да не за что Smile
основа исходника, кстати, лежала где-то на орге в иссуях.

Аватар пользователя vitaboss vitaboss 15 января 2013 в 20:26

"graker" wrote:
у нас дорого

Хочу узнать хотя бы порядок цен... примерно в баксах сколько? 50, 100, 200, 300...?
Интересует вариант простой - два числовых поля заносятся в корзину перемножаются и создают количество товара, так и второй вариант - это с прикручиванием скрипта (обрезанием картинки на основе этого http://odyniec.net/projects/imgareaselect/#download или этого http://deepliquid.com/projects/Jcrop/demos.php?demo=handler) Сложный вариант должен получиться примерно как здесь _http://www.decomat-art.ru/catalog/detail?ITEM=1221 только там кнопок много лишних приделали, они мне не нужны. Максимум кнопка отразить по горизонтали.
Модуль я так понимаю, после установки заберет определенные товары или ноды.

Еще не могу понять одну вещь, как мне лучше быть, каким путем пойти до заказа модуля?
Товаром делать картинку или рулонный материал?
1.Если картинку, то рулонный материал должен быть глобальным атрибутом имеющийся в наличии на складе или везде отключающийся.
2.Если товаром будет рулонный материал, то картинку нужно загонять в image_field ноддисплея. Получиться ли тогда ее в заказ(корзину) отправлять или нет?
Очень хотелось бы услышать подсказку, т.к. потом сложно будет всю структуру сайта пересоздать.

Аватар пользователя graker graker 15 января 2013 в 20:39

vitaboss wrote:
"graker" wrote:
у нас дорого

Хочу узнать хотя бы порядок цен... примерно в баксах сколько? 50, 100, 200, 300...?
Отдельный заказ на модуль/модули - $300 минимум, меньше мы не берем.

Quote:
Еще не могу понять одну вещь, как мне лучше быть, каким путем пойти до заказа модуля?
Товаром делать картинку или рулонный материал?
1.Если картинку, то рулонный материал должен быть глобальным атрибутом имеющийся в наличии на складе или везде отключающийся.
2.Если товаром будет рулонный материал, то картинку нужно загонять в image_field ноддисплея. Получиться ли тогда ее в заказ(корзину) отправлять или нет?
Очень хотелось бы услышать подсказку, т.к. потом сложно будет всю структуру сайта пересоздать.

Извините, глубоко задумываться над вашей задачей еще не было времени, но - навскидку - по идее товаром надо делать то, чего больше, а то, чего меньше - атрибутом.

Аватар пользователя vitaboss vitaboss 16 января 2013 в 13:09

"graker" wrote:
Отдельный заказ на модуль/модули - $300 минимум, меньше мы не берем.

Да, не дешево... Желающих видимо больше нет...

Пошел оформлять свои хотелки в ТЗ, гулять так гулять Smile

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 16 января 2013 в 13:27

А, я когда то делал (пытался) сделать. У меня это свелось к следующему:
свой тип поля к нему свой виджет. Виджет по типу обычного текстового поля, но с двумя полями - цена и название атрибута. Создаём ОДИН товар, к нему неограниченное количество атрибутов. По моей идее, должны были создаваться лайн айтемы для соответсвующих атрибутов (поправки цены) при добавлении товара в корзину.

Модуль так и не осилил - много подводных камней Smile

Аватар пользователя vitaboss vitaboss 22 января 2013 в 13:33

Здравствуйте, Все!

Вопрос по модулю завис, т.к. наткнулся на такое решение... Пытаюсь реализовать.

Пытаюсь создать на Commerce связку товаров в одном дисплее, если кто знает или кому интересно, помогите разобраться...
Значит вот есть пример:
http://demo.commerceguys.com/dc/catalog/coffee-holders/mug
Это самое простое сочетание двух товаров в одном дисплее - у меня получилось даже с несколькими товарами-картинками Smile
Все отлично!
Далее...
Необходимо к этому же дисплею добавить еще единственный товар с единственной картинкой он будет главнее чем набор товаров с кружками и все выбранные варианты должны попасть в корзину.
Делаю так: Создаю второй тип товара (первый кружки), создаю в нем поля + поле ссылка на товар с кружками, настраиваю (включаю визуализировать) и этот товар становится главнее кружек. Кружки должны быть как бы атрибутами этого товара, но по сути товарами.
Далее в нод-дисплее меняю ссылку на товар, который стал главный.
Чтобы не было двух кнопок заказать от каждого товара в ноде, выбираю необходимый вид отображения (bundle)...
Итог: в корзину все правильно добавляется, работают правила ценообразования. НО! На странице нод-дисплея почему-то отображается только картинка главного товара. Кружки должны тоже вместе с выпадающим меню меняться, как в первом варианте. Тробер крутиться, а картинка не подгружается.
В чем может быть проблема? Ткните меня носом если кто знает, подскажите если у кого-нибудь есть какие-то мысли.
P.S. Не сплю уже двое суток, а сил уже нет.

Аватар пользователя MAMONT MAMONT 21 марта 2013 в 18:40

Ребят, я тоже по поводу атрибутов.
По умолчанию рендер происходит так что выбран первый атрибут. SS https://url.odesk.com/nnpbla
Многие обезьянки жмут кнопку "Добавить в корзину" не меняя атрибутов.
Кто знает как добавить опцию "Выберите"?
Гуглил, да что то не нашел.
Есть идея добавить js валидатор, но хотелось бы продублировать программно или через админку.