首页 > 代码库 > 基于产品属性的Magento(麦进斗)过滤器配送方式
基于产品属性的Magento(麦进斗)过滤器配送方式
可能不止一种方式来做到这一点,但我选择的方法是创建一个插件\Magento\Shipping\Model\Shipping,特别是collectRates()函数。当然我们的要求比你(底部)更具体。
基本的逻辑流程...
collectRates() (在\Magento\Shipping\Model\Shipping未修改的功能,收集率对所有的运输方式)
afterCollectRates() (插件)
- 此时所有运输方法被调用并存储在我们的价格$请求对象。
- 您可以确定是通过在车中的产品$请求- > getAllItems()
- 注:父/子产品是单独项目,并根据您的存储配置,一个或其他属性,你想看看可能没有自定义。
- 你可以看到所有通过航运方式/房价$请求- >的getResult)( - > getAllRates()
- 我没有找到一个核心函数删除的速度,我的解决方法是...
- 在利率取消设置的所有数据删除
- 毕竟利率被修改,使用foreach()循环将它们存储在一个tempArray(有一些逻辑不增加成本,如果== 0等)
- 现在刷新和重置通过所有现有利率$请求- >的getResult() - >复位()
- 最后,从您的加入率tempArray回
这取决于你如何计算利率,您可能还需要延长的各种运输方式,所以你完全可以绕过它们是某些产品在购物车(可能不适合你的使用情况,但对于任何试图关闭UPS /联邦快递/等。率)
正如前面提到的,我们的要求是更广泛,我们也有它实际上创造了产品阵列和其他逻辑(我们不得不限制各种运输方式,增加处理特定产品,并使用三维逻辑来创建一个列表beforeCollectRates()函数航运箱发送给UPS /联邦快递等实际CollectRates()的一部分。)
基于产品属性的Magento(麦进斗)过滤器配送方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。