Drupal Commerce. Запустить правила доставки на основе значения поля продукта

18

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

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

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

Что я делаю неправильно?


БОЛЬШЕ ФОНА

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

Condition1 - У объекта есть поле> Параметр: Entity: [commerce-order], Поле: field_free_shipping

Condition2 - значение даты пустое (также пробовал сравнение данных)> Однако это не приводит меня к полю, указанному в Condition1

MrPaulDriver
источник
1
Работает ли это, если вы добавляете условия непосредственно в правило и не используете компонент? Это опыт, который я имел в прошлом
Клайв
Если вы пытаетесь получить доступ к значению поля в каком-либо правиле извлечения, вы должны сначала установить «Entity has value» и проверить то же поле перед тем, как приступить к сравнению данных. Не знаю точной ситуации, чтобы не вводить это в ответ ..
RajeevK
Пожалуйста, смотрите больше фона - выше
MrPaulDriver
Можете ли вы сказать мне событие, которое вы используете для добавления доставки?
RajeevK
Вам нужно будет предоставить более подробную информацию о помощи, например: - Установили ли вы отправляющее событие, которое вы используете, какое значение поля вы пытаетесь получить и т. Д. , используемый способ оплаты (наложенным платежом), тип приобретенного продукта. Так что вы можете рассказать мне сценарий, где вы хотите использовать, и я попробую это ..
RajeevK

Ответы:

2

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

Используя модуль Commerce Rules Extra, я смог, во-первых, активировать свои правила доставки на основе терминов таксономии вместо пользовательских полей, а во-вторых, определить дополнительные условия для применения этих правил с помощью сопровождающего модуля @MarcElbichon, как описано здесь https: // drupal.org/node/2087815

MrPaulDriver
источник
1

Я сделал это -

Я использовал модуль доставки по единой ставке и создал единую ставку, называемую бесплатной ценой доставки 0. Затем я отредактировал компонент так, чтобы он применялся только к необходимым обстоятельствам, и он работает очень хорошо.

Смотри приложение.

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

компонент единой ставки

charlesd
источник
Спасибо за ваше предложение. Я рассмотрел этот подход, но мой клиент настаивает на том, чтобы иметь только один тип продукта. Узнав больше о его бизнесе, я могу понять его причины для этого.
MrPaulDriver