Drupal 8: добавляйте в корзину, только если у пользователя достаточно кредитов

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

В шагах от того, как это должно быть достигнуто, вот последовательность событий, которые, я думаю, должны работать:

Всякий раз, когда кто-то пытается добавить продукт:

  • Используйте правило "Перед добавлением товара в корзину"
  • Мне нужно получить значение следующего:
    • Получите кредиты пользователей
    • Получить сумму текущего продукта + стоимость корзины
  • Проверьте состояние, если кредит больше, чем товар + корзина.
  • Если значение равно true, добавьте товар в корзину, иначе отображается сообщение "Недостаточно кредитов".

Я использую модуль баллов лояльности для пользовательских кредитов.

Будем благодарны за любую помощь в настройке правил для этого сценария.

0 ответов

Вместо использования модуля я просто использовал функцию custom_validation для commerce_add_to_card_form, как это было предложено lamp5

Другие вопросы по тегам