覆盖Magento的默认运费收集机制

时间:2017-02-21 12:34:08

标签: php magento magento-1.9 shipping function-overriding

社区版的模块开发1.9.3.1 Magento。

商店有多个履行来源。在这些情况下,默认的Magento 1.9运费估算逻辑是不够的,因为它只支持单原点方案。

我们需要覆盖Magento的默认运费收集机制,将每个拆分运输组的费率报价收集为单独的运费报价,然后将它们全部加在一起。

要求:

  • 具有相同split_shipment_group的产品将被“分组”在一起以获得费率报价,因为它们在出厂时将被物理地放在同一个框中。

  • 每个“盒子”都有自己的载体设置,可以使用不同的方法运送。

  • “盒子”的重量和价格会发送给盒子有资格装运的运输公司(根据每个盒子的split_shipment_group的配置)。

  • 为每个“盒子”自动选择最便宜的方法(目前我们不需要让用户选择使用哪一个)。

  • 所有最便宜的方法的费用总结,并显示给用户作为运费。

  • 在前端,用户只能看到一种送货方式,只需一个价格。

在购物车页面上向用户显示送货明细:

  • 我们还不需要UI元素;只有能够检索此数据才能显示它。

  • 我们最终可能需要在结帐时显示此信息以解释运费。

让管理员为每个发货组设置不同的配置设置:

  • 送货原件

  • 送货方式和承运人配置

将单独的运费金额保存在新的数据库表中。列应该是:

  • 订单实体ID

  • 发货价格(从运营商API检索)

  • 运营商名称

  • 方法名称

  • 拆分装运小组

我在Magento 1.9.3.1 Core中找到了什么:

在文件中:app / code / core / Mage / Sales / Model / Quote / Address.php

collectShippingRates() OR 

getShippingRatesCollection() OR 

getGroupedAllShippingRates() OR      

requestShippingRates(Mage_Sales_Model_Quote_Item_Abstract $item = null)

在档案中:app / code / core / Mage / Checkout / Model / Cart / Shipping / Api.php

setShippingMethod($quoteId, $shippingMethod, $store = null)

请给我任何建议如何制作模块?

我会欣赏任何链接,文章,代码等。

0 个答案:

没有答案