2

我在一家有两种产品的商店工作:易腐烂的食品和一般商品。食品必须始终通过 FedEx 隔夜运送,其他商品必须始终通过 USPS 运送。如果有人从这两个类别中订购产品,则它们必须单独发货。

您是否知道允许这样做的现有模块或配置设置?

如果不是,听起来自定义模块将是另一种解决方案。在这种情况下,最好的方法是什么?我认为这会将订单拆分为多地址发货,两者使用相同的地址但使用不同的运输方式。不幸的是,我不确定如何以编程方式执行此操作,因此将不胜感激任何教程/示例/资源。

4

2 回答 2

3

可能最明智的处理方法是为每种产品类型创建两个订单,每个订单由不同的承运人运送到相同的地址。从商店跟踪的角度来看,这也是 IMO 更有意义的,因为您可以彼此独立地处理它们。

为了让您走上正确的轨道(因为 Magento 在这部分本身特别神秘),您应该阅读Incho 以编程方式在 Magento帖子中创建订单,并由同一作者以编程方式在 Magento中创建客户和订单,并使用完整的一页结帐

基本上,正如我所看到的那样:

  1. 获取客户订单
  2. 遍历订单中的每个产品并将其拆分为每个产品类型的两个数组
  3. 为每种产品类型创建单独的订单,并为每种产品使用不同的运输方式。

您可能必须扩展一些控制器或以非标准方式执行此操作并为此使用辅助功能,困难的部分将在您的订单流程中集成支付/运输模块。采用这种方式将让您创建完整的结帐流程,因为 Magento 提供的单页结帐不会真正起作用,并且由于它使用 AJAX 的方式而难以开始工作。

另一种选择是连接到 Magento 的预创建订单事件,并使用已经定义的订单数据创建订单,将其分成两个订单,但这是我目前从未听说过或看到实施的,所以你必须可以说是“蒙住眼睛”。

一种更简单的方法是使用定义产品运输方式的自定义字段,这样您只需添加它而不关心自定义订单。您只需对此做出反应,但是 IMO 几乎不可能进行跟踪。

于 2011-06-28T22:45:07.537 回答
0

覆盖免费送货模块。

您可以设置适用于某些产品的销售规则并使它们“免费送货”,而将其他产品留给您选择的主要运输提供商。

您将需要了解它是如何工作的,但是,关键是 Magento 确实有内置的东西可以将订单分成两个运输类别,尽管只是免费送货的销售规则。但是你有源代码...

于 2011-07-01T14:18:43.797 回答