use*_*138 5 php magento magento2
我是Magento 2的新手.任何人都知道如何根据购物车中产品的属性禁用送货方式.假设我们只想为某些产品启用商店取货.在单页结帐时,这些更新了post/rest/en/V1/guest-carts/SESSION_ID/estimate-shipping-methods但是尝试了模块checkout和module-quote,但仍然找不到这段代码的位置所以我可以扩展它.如果有人之前通过这个会有所帮助.
谢谢
完成此操作的方法可能不止一种,但我选择的方法是为\Magento\Shipping\Model\Shipping创建一个插件,特别是collectRates()函数。当然,我们的要求比您的要求更具体(底部)。
基本逻辑流程是...
collectRates() (\Magento\Shipping\Model\Shipping 中的未修改函数,收集所有运输方式的费率)
afterCollectRates() (插件)
根据您计算费率的方式,您可能还想扩展各种运输方式,以便在某些产品在购物车中时可以完全绕过它们(可能不是针对您的用例,而是针对任何试图禁用 UPS/FedEx/等的人。费率)
如前所述,我们的要求更广泛,我们还有一个 beforeCollectRates() 函数,它实际创建了产品数组和一些其他逻辑(我们必须限制各种运输方式,为特定产品添加处理,并使用维度逻辑创建列表对于实际的 CollectRates() 部分,要发送到 UPS/FedEx 等的运输箱的数量。)