揭开洋洋嫩’S CollectTotals:简介
揭开洋洋嫩’S CollectTotals:简介

揭开洋洋嫩’S CollectTotals:简介

2013年4月24日出版 in 发展
优雅的骆驼和PayPal:共同努力建立PayPal信用卡标记扩展
2013年4月22日
揭开洋洋嫩’S CollectTotals:核心过程
2013年5月1日

在这个系列中,我’请解释Magento处理卡车(即小计,税,​​折扣,总计等)计算和显示总计的过程,以及如何为自己的目的自定义此过程。

在其核心,在网上购物车中处理产品价格和总数似乎很简单。通过产品价格乘以推车量。添加运费。增加税。你有它。您第一次有理由修改购物车总数是计算并在Magento中显示的,但是你是什么’ll找到是什么,但很简单。事实上,你的第一个冲动可能是远远地奔波。

为什么复杂性?嗯,第一种和最明显的原因是甚至直截了当地计算aren’如他们出现的那样简单。运送百分比或统一费率?征税是缴纳的,我们在哪里获取有关适用于客户的税率的信息?我们申请的折扣是什么样的折扣,并且可以应用于它们的物品数量限制?

和magento.’S强大的功能集会将大量的其他因素扔进混音:特价,价格,价格,购物车价格规则,优惠券代码,礼品卡。 。 。建立一个稳定的系统,使所有这些因素都发挥不错,并且留下定制空间,并不容易壮举。玛托托’总计的S技术允许计算保持在自己的模块中的良好分段’S旨在帮助您保持理智,一旦您了解过程如何运作,就不会丢失它。

潜入负责将产品添加到购物车的代码中,您’LL发现奇特的东西:在直接执行Mage_sales_model_quote :: AddProduct是在推车中的Quote项目上设置的价格。那’因为,由于上面列出的所有原因,物品上的最终价格可以’除其他有关购物车的其他信息的背景外,请确定。所以每个项目的计算’价格,以及关于购物车的每一块价格信息,都是立即完成的,通过一种方法启动’在购物车更新和结账进程的各个点保存报价之前,请调用:mage_sales_model_quote :: collecttotals。

了解那里发生的事情,让’回来看看如何“total” is defined. What I’ll call a “total” or “total collector”是一种特定的定价计算,必须在购物车上完成(小计,税,​​折扣,总计),它有一个专用于两个主要工作的模型:

  • 计算和更改报价,报价地址和报价项目的适当信息
  • 决定如何在购物车中显示特定的总量(或检查等),如果有的话

总计在配置XML中定义,因此如果您查看应用程序/代码/核心/法师/销售/ etc / config.xml,则为您’LL找到以下内容:

在这里,我们看到定义了多个基本总计,以及驱动它们的模型。你可以看到“before” and “after”节点还在应运行的顺序计算中指示。浏览MAGE_SALESRULE和MAGE_TAX等其他核心模块的配置文件,以及您’请参阅定义的其他总计。

对总计收集过程的理解对不同程度的定制有价值。如果您需要创建自己的新总收集器,并且它是明显的应用程序’很重要的是要明白,这只需要仅用于您想要存储和显示的不同总数。您可能希望实现总收集器,只需修改收集过程中其他计算的结果。或者您的自定义可能不太侵扰,只需观察“sales_quote_collect_totals_before.”事件要在进程运行之前修改数据,在这种情况下’键知道如何采取行动数据。

在下一个条目中,我们’LL涉及包含总计集合所涉及的配置,模型和逻辑的深入研究。

下一个参赛作品

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

本网站使用AkisMet减少垃圾邮件。 了解如何处理评论数据.

最近的帖子查看全部
3月1日,2021年

Covid的巨大加速要求再次欺诈和消费者虐待警惕

2月3日,2021年

社交媒体在科迪德自然时期的增长’s One

1月5日,2021年

替代社交媒体

您是否注意到您的Facebook和Instagram内容似乎越来越少,并且每次通过都会越来越少?用于达到的帖子 […]