Drupal Commerce Kickstart v2 在付款前批准订单

标签 drupal drupal-commerce drupal-rules

我正在使用 commerce kickstart v2 构建概念验证电子商务解决方案

我希望实现一个系统,用户可以提交订单,但管理员必须在客户付款之前批准订单 - 我感觉我可以通过规则和额外订单状态来做到这一点,但我无法弄清楚其中的哪一部分干预的结帐过程。这是我到目前为止所拥有的:

  1. 额外订单状态“等待管理员批准”
  2. 额外订单状态“已由管理员批准”
  3. 当订单状态从“购物车”更改为“结帐”并将订单设置为“等待管理员批准”时触发的规则
  4. 当订单状态为“等待管理员批准”且路径包含“结账”时触发的规则。此规则将用户重定向到显示“您的订单正在等待批准”的页面
  5. 管理员将订单状态更改为“管理员批准”后应允许用户结账的规则

上面的规则 5(斜体)给我带来了问题,无论我如何尝试 - 规则 # 3 总是会触发,即使在订单获得批准后也是如此,这会导致用户被重定向。

问题的出现是因为一旦订单被设置为“管理员批准”,它必须返回“购物车”,然后“结账”......然后触发规则 3,这让我很好地回到了周围围成一圈。

有什么提示或建议吗?

最佳答案

对于规则 3 添加另一个条件:订单状态“已由管理员批准”的数据比较与否定选项(底部的复选框)。因此,如果您将订单状态更改为“已由管理员批准”,则此规则将不再触发,因为此条件将返回 FALSE。

此外,根据规则 5,您可以创建一个操作来向买家发送带有结账链接的电子邮件

关于Drupal Commerce Kickstart v2 在付款前批准订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592928/

相关文章:

web-services - 我们如何使用有规则的服务

docker - ddev 启动 readlink/var/lib/docker/overlay2 : invalid argument error

drupal-8 - 在 Drupal 8 Commerce 中,如何以编程方式从当前购物车中获取订单 ID 和产品变体 ID?

drupal-7 - 使用 Drupal 规则向具有角色的用户发送电子邮件,但仅发送一次

templates - Drupal 6 中特定节点的自定义模板?

drupal-8 - Drupal 8 - 商务模块 - 找不到 BC 数学 PHP 扩展

javascript - 如何从 javascript 代码触发 drupal 规则

php - 如何将表单呈现为表格

performance - 如何正确设置 Drupal 7 中的 View 字段主题

php - Drupal 8 + Nginx 反向代理作为子目录