Не знаю как дальше углубиться в Rules Components. Может кто подскажет?

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

Аватар пользователя andreystrelkov andreystrelkov 17 августа 2013 в 21:41

Добрый день, подскажите добрым словом пожалуйста, имеет сайт интернет магазин, постороенный на Drupal Commerce
в которой нужно достигнуть небольшой фичи в функционале.
Сначала первая фича, которую я достиг, у типа продукта есть поля ЗАКАЗАНО, в котором целое число, суть его в том,
что каждый раз при заказе того или иного товара, это поле увеличивается на 1, при завершении заказа (т.е. выдаче покупателю) и смене статуса заказ на выполнено, соответственно -1

Всё это делается методом RULES и COMPONENTS, а именно т.к. изначально на действие Completing the checkout process
нельзя сделать действие мол, Entity has field - ЗАКАЗАНО, и Calculate value ЗАКАЗАНО +1, а апосля
Set data value. В связи с тем, что сущность товар, как таковая уходит на второй план, а появляется другая - Line Item
То приходится мудрить с компонентами, состоявляя следующую цепочку.

1) Сначала создаётся действие на оформление заказа
EVENT: Completing the checkout process
CONDITION: -
ACTION: Вызов первого созданного компонента (с Loop по всем товарам в заказе, т.е. по всем line-items 0,1,2,3...), КОТОРЫЙ!

2) Первый компонент который начинает углубляться в внутренности Line Items (в поисках нужно мне поля)
у этого компонента будут два параметра (которые нам даст действие выше)
это Order (получается у какого заказа мы будем искать чего хочется мне) и Line Items (у каких товаров в заказе, т.е. у всех)
в CONDITION у меня условие Data comparison: У Line-item тип сущности Product?
мол если да, то мы на верном пути, и мы проникли и раскрыли себе новую сущность в виде Product, ИДЁМ ДАЛЬШЕ!
вызываем следующий компонент

3) У него соответственно параметры уже другие, это Order и только что открытый Product, в котором мы сейчас докапаемся до нужной
нам фичи.
Т.к. на сайте может быть несколько типов товаром у сущности Product,то нас нужно остановится на моей - одной, условием
Data comparsion сущность Product типа - Мои товары?
Если да, то пожалуйста следующее действие! Calculate value ЗАКАЗАНО +1

Таким образом я добрался до нужного мне поля, и прибавил к нему единицу, хотя правильней не единицу а QUANTITY из заказа, т.к. товары могу не единственном кол-ве заказывать. После завершения последнего компонента, наше действие повториться циклом по все имеющимся Line Item в заказе. И на этом всё что требуется - закончится...

А ТЕПЕРЬ!!! ВЕЩЬ КОТОРУЮ Я НЕ МОГУ ДОПЕТРИТЬ!!! :'(((

У меня на сайте есть словарии таксономии, в котором полно терминов, и каждый товар имеет свой термин, связан с ним.
Дак вот в этом термине есть поле НАБРАННАЯ СУММА, суть которой - при оформлении заказа, нужно к этому полю добавить сумму заказа
но вот как к нему то придти,
т.е. получается я узнал, что Line Item имеет отношение к сущности Product, а сущность Product в моём случае хранит в себе именно типа Мои товары, таким образом получается попав в Мои товары
я дальше должен узнать имеет ли она в себе такое поле как Термин таксономии, в котором хранится термин из словаря, и в котором есть такое поле как НАБРАННАЯ СУММА, к которому нужно добавить значение поля PRICE из ORDER

Но как туда проникнуть, допетрить не могу, это получается каким то отношениям я должен уйти от сущность PRODUCT к сущности TERM

Может кто то поймёт мою писанину, и разберётся что я хочу, а ещё здорово если поможет и посоветует
Спасибо вам большое!

Комментарии

Аватар пользователя andreystrelkov andreystrelkov 17 августа 2013 в 22:42

Ну вот... как всегда получилось, пока описывал проблему словами на форуме, сам понял решение.
Решение аналогично всё также копать дальше третьим компонентом
Пускай тогда этот топик будет решением, может кому то пригодится