Заказы

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

Аватар пользователя alex_ak1 alex_ak1 26 мая 2015 в 14:50

Здравствуйте.

Как добавить в заказ в каждую строчку 2 или 3 поля, которые надо выбирать при вводе новой строки?
К примеру размер и цвет товара. Цена от этого не меняется, но вбивать такое количество товара как-то странно по моему.

Поле в order line я добавил нужные поля, в отображении вроде все выбрано правильно, но при создании новой строки Product ничего не появилось.

ЗЫ: И как можно положить денег на баланс (баланс реализуется модулем Commerce Account Balance)?

Комментарии

Аватар пользователя postgres postgres 26 мая 2015 в 16:38

по логике, вам сначала наверное нужно создать словарь терминов таксономии, наполнить его терминами: цвета и типоразмеры.
Для order line - тут в логике надо хорошо спланировать. в order line лежат id товаров.
то есть по идее поля надо добавлять к товарам или задавать вариации товара.
Как видите я конкретно не отвечаю на вопрос, но обращаю внимание на деталь

Что касается количества товара - то его надо вбивать столько, сколько у вас артикулов. Что бы в другом месте могли по артикулу точно определить что именно за товар имелся в виду. Это вопрос идентификации безотносительно к базе данных.

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

Аватар пользователя alex_ak1 alex_ak1 27 мая 2015 в 8:23

postgres wrote:
по логике, вам сначала наверное нужно создать словарь терминов таксономии, наполнить его терминами: цвета и типоразмеры.

Само собой, я это уже сделал, словари наполнены.

postgres wrote:
Для order line - тут в логике надо хорошо спланировать. в order line лежат id товаров.
то есть по идее поля надо добавлять к товарам или задавать вариации товара.

Тут логика такая (я так думаю) - заходим на страницу товара с его описанием. Снизу выбираем вариант цвета, размер и кнопка "купить". После этого по идее добавляется строка в заказ с нужными параметрами и количеством=1.

postgres wrote:
Как видите я конкретно не отвечаю на вопрос, но обращаю внимание на деталь

Спасибо Smile

postgres wrote:
Что касается количества товара - то его надо вбивать столько, сколько у вас артикулов. Что бы в другом месте могли по артикулу точно определить что именно за товар имелся в виду. Это вопрос идентификации безотносительно к базе данных.

То есть если у меня есть 50 товаров, каждый 10 размеров и 10 цветов, то получается, что у меня будет 50*10*10 = 5000 товаров? По моему это нелогично и я как раз хочу от этого уйти, чтобы продавать 50 товаров, а не стопицот.

postgres wrote:
Когда в будущем вам прийдет в голову мысль размещать товар на Яндекс маркете например, то вы столкнетесь с необходимостью пронумеровывать (идентифицировать) каждый товар.

Не думаю, что до этого дойдет Smile

Аватар пользователя postgres postgres 27 мая 2015 в 22:08

"alex_ak1" wrote:
То есть если у меня есть 50 товаров, каждый 10 размеров и 10 цветов, то получается, что у меня будет 50*10*10 = 5000 товаров? По моему это нелогично и я как раз хочу от этого уйти, чтобы продавать 50 товаров, а не стопицот.

Но в реальной торговле именно так и происходит!
Другое дело, что никто это вручную не вбивает конечно. Артикул содержит в себе признаки цвета размера и прочее и таблица товара генерируется в Экселе, затем импортируется в Друпал.

Конечно вы вправе проектировать так как считаете нужным.
Но еще раз, строка Line Item - это строка заказа, которая генерируется при добавлении товара в корзину.
Она связана с сущностью commerce только номером product_id.
то есть правильно ли понимаю ситуацию, что вы добавили поля к сущности line item но ожидаете их появление при добавлении другой сущности - product?
ну это нормально что у продакта нет этих полей. line item это строки сущности order.
если не выпендриваться, то в коммерце есть три основных таблицы commerce_product, order, line_item. Есть еще price и еще пара, но основные сущности те три.
в каждой строке line_item указано какой product_id в ней содержиться и к какому order_id она принадлежит. На всякий случай, есть также в line_item поле для ваших целей типа blob куда можно напихать всякой всячины в упакованном виде. называется оно data. В любом случае, форму редактирования корзины придется хукать чтобы добавить туда свои поля и данные, либо залезать в представления и искать там представление для корзины и добавлять поля туда. Commerce создает свои представления и в приципе можно обойтись без программинга, однако при обновлении модуля ваши наработки могут полететь...

Аватар пользователя alex_ak1 alex_ak1 28 мая 2015 в 7:26

postgres wrote:
Артикул содержит в себе признаки цвета размера и прочее и таблица товара генерируется в Экселе, затем импортируется в Друпал.

А как это делается? В екселе понятно все, я наделаю там каких угодно столбцов.
А вот как это добавить в друпал? Причем заодно у меня будет появлятся наверное view, в котором будет указываться все множество вариантов этого товара (как у меня в примере - табличка 10 на 10), плюс шаблонно как-то будет появлятся статья, которая будет внизу содержать эту табличку. Это я думаю сделать, чтобы и не захламлять страницу продажи кучей одинаковых ссылок, и дать возможность выбора.

postgres wrote:
Но еще раз, строка Line Item - это строка заказа, которая генерируется при добавлении товара в корзину.
Она связана с сущностью commerce только номером product_id.
то есть правильно ли понимаю ситуацию, что вы добавили поля к сущности line item но ожидаете их появление при добавлении другой сущности - product?

Я тут подумал, что реально так и получится - на 1 товар 10 разновидностей и в таблице product так и выйдет 10 разновидностей. Просто к каждой категории привязывается другая конкретная сущность и разводить в базе лишнюю фигню с атрибутами при связи - это фигня какая-то.