Magento - 每个产品设置载体

时间:2011-06-28 15:14:34

标签: magento e-commerce shipping

我正在开一家有两种产品的商店:易腐食品和一般商品。食物必须通过FedEx一夜之间运送,其他商品必须始终通过USPS运送。如果有人从两个类别订购产品,则必须单独发货。

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

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

2 个答案:

答案 0 :(得分:3)

处理此问题的 sanest 方法可能是为每种产品类型创建两个订单,每个订单都使用不同的运营商运送到同一地址。这也是IMO从商店跟踪角度更有意义,因为您可以彼此独立地处理每个。

为了让你走上正轨(因为Magento在这部分内容特别神秘),你应该阅读Inchoo programmatically create order in Magento帖子和同一作者Programatically create customer and order in Magento with full blown one page checkout

基本上我认为这是:

  1. 获取客户订单
  2. 浏览订单中的每个产品,并将其拆分为两种产品类型的数组
  3. 为每种产品类型创建单独的订单,并为每种产品类型使用不同的送货方式。
  4. 您可能需要扩展一些控制器或以非标准方式进行操作并使用辅助功能,硬件将在您的订单处理中集成支付/运输模块。通过这种方式,你可以创建完整的结账流程,因为Magento提供的单页结账不会真正起作用,因为它使用AJAX的方式而无法上班。

    另一种选择是挂钩Magento的预创建订单事件,并使用已定义的订单数据在那里创建订单,将其分成两个订单,但这是我从未听过或看到过的那样,所以你' d必须这样做“被蒙住眼睛”可以这么说。

    更简单的方法是使用定义产品运输方式的自定义字段,这样您只需添加它而不关心自定义订单。你只是对此作出反应,但跟踪将变得大多不可能IMO。

答案 1 :(得分:0)

覆盖免费送货模块。

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

你需要看看它是如何工作的,但是,重点是Magent确实有内置的东西将订单分成两个发货类别,尽管只是免费送货的销售规则。但是你有源代码......