Добавление скидки с модулем коммерции Drupal - PullRequest
4 голосов
/ 16 октября 2011

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

Я подумываю о получении «состояния» данных с помощью хука и изменении скидки в зависимости от извлеченных данных.

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

1 Ответ

4 голосов
/ 16 ноября 2011

Я все еще верю, что правила ценообразования - это путь.

Очевидно, что вы не можете установить условие для каждого состояния, так как это приведет к хаосу. Я бы предложил создать новую таблицу с двумя столбцами: State и Discount. Заполните таблицу данными, необходимыми для вашего проекта.

Установите новое правило ценообразования (Магазин -> Конфигурация -> Правила ценообразования на продукт -> Список -> Добавить). Пропустить часть условий. В части Actions извлеките данные о состоянии пользователя и сделайте их доступными в качестве переменной. Затем добавьте действие PHP, чтобы запросить у таблицы соответствующую скидку. Используйте третье действие, чтобы установить цену для полученной скидки или, если результаты не были возвращены, к исходному значению.

Хорошей практикой может быть объединение этой логики в модуле аккуратности со следующим:

  1. Пользовательский интерфейс для управления таблицей скидок.
  2. Действие правил для запроса таблицы для данного состояния.
  3. Условие для проверки наличия скидки для данного государства.

(Вы можете затем использовать пункт № 3 выше в условиях правила ценообразования, чтобы изменить цену, только если найдена скидка.)

Надеюсь, это поможет. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...