[РЕШЕНО] Выбор термина в entity с помощью rules

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

Аватар пользователя Tinnka Tinnka 9 марта 2017 в 18:31

Drupal commerce 7
В заказе есть поле с типом "Ссылка на термин". В справочнике 3 значения (RU, EN, CN).

Нужно создать правило которое будет проверять язык контента сайта на момент создания/завершения заказа и выбирать в заказе из списка с возможными языками нужный.

Лучший ответ

Аватар пользователя Tinnka Tinnka 9 марта 2017 в 19:10

Было решено с помощью 3х правил (по одному на каждый язык).
Привожу пример правила для русского:

{ "rules_save_order_language_ru" : {
    "LABEL" : "Save order language RU",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules", "commerce_checkout" ],
    "ON" : { "commerce_checkout_complete" : [] },
    "IF" : [
      { "entity_is_of_bundle" : {
          "entity" : [ "commerce-order" ],
          "type" : "commerce_order",
          "bundle" : { "value" : { "commerce_order" : "commerce_order" } }
        }
      },
      { "data_is" : { "data" : [ "site:current-page:language-content" ], "value" : "ru" } }
    ],
    "DO" : [
      { "data_set" : { "data" : [ "commerce-order:field-order-language" ], "value" : "15" } }
    ]
  }
}

Комментарии

Аватар пользователя Tinnka Tinnka 9 марта 2017 в 19:10

Было решено с помощью 3х правил (по одному на каждый язык).
Привожу пример правила для русского:

{ "rules_save_order_language_ru" : {
    "LABEL" : "Save order language RU",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules", "commerce_checkout" ],
    "ON" : { "commerce_checkout_complete" : [] },
    "IF" : [
      { "entity_is_of_bundle" : {
          "entity" : [ "commerce-order" ],
          "type" : "commerce_order",
          "bundle" : { "value" : { "commerce_order" : "commerce_order" } }
        }
      },
      { "data_is" : { "data" : [ "site:current-page:language-content" ], "value" : "ru" } }
    ],
    "DO" : [
      { "data_set" : { "data" : [ "commerce-order:field-order-language" ], "value" : "15" } }
    ]
  }
}