1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 购物车 怎么计算总价 php Magento购物车价格计算的功能实现代码

购物车 怎么计算总价 php Magento购物车价格计算的功能实现代码

时间:2022-12-06 17:02:35

相关推荐

购物车 怎么计算总价 php Magento购物车价格计算的功能实现代码

一、代码流程:

1、Mage_Sales_Model_Quote::collectTotals();

图1-001 Mage_Sale模块的Mage_Sales_Model_Quote::collectTotals()方法

2、循环Mage_Sales_Model_Quote::getAllAddress()地址信息

3、调用 Mage_Sales_Model_Quote_Address::collectTotals();

图1-002 Mage_Sale模块的Mage_Sales_Model_Quote_Address::collectTotals()方法

4、循环Mage_Sales_Model_Quote_Address::getTotalCollector()->getCollectors()

5、调用 Mage_Sales_Model_Quote_Address_Total_Collector::getCollectors();

图1-003 Mage_Sale模块的Mage_Sales_Model_Quote_Address_Total_Collector::_initModels()方法

图1-004 Mage_Sale模块的Mage_Sales_Model_Config_Ordered::_initCollectors()方法

图1-005 Mage_Sale模块的Mage_Sales_Model_Config_Ordered::_getSortedCollectorCodes()方法

6、至此,就得到了config.xml里配置得各计价用的total类,他们均继承与Mage_Sales_Model_Quote_Address_Total_Abstract类,并分别实现各自的collect方法

注:尤其注意理解config.xml的global/sales/quote/total/{code}的before与after两个配置项对价格计算的影响及作用

图1-005-01 DEBUG调试Mage_Sales_Model_Config_Ordered::_getSortedCollectorCodes()方法 【排序前】

图1-005-02 DEBUG调试Mage_Sales_Model_Config_Ordered::_getSortedCollectorCodes()方法 【排序后】

二、案例分析

现在,我们抽出最关键一个促销折扣的计价类做为示例来看一下他是怎么实现促销匹配及价格计算的

图2-001 Mage_SalesRule模块的config.xml

图2-002 Mage_SalesRule模块的Mage_SalesRule_Model_Quote_Discount::__construct()方法

图2-002-01 Mage_SalesRule模块的Mage_SalesRule_Model_Quote_Discount::collect()方法

图2-002-02 Mage_SalesRule模块的Mage_SalesRule_Model_Quote_Discount::collect()方法

图2-003 Mage_SalesRule模块的Mage_SalesRule_Model_Validator::init()方法

图2-004 Mage_SalesRule模块的Mage_SalesRule_Model_Validator::initTotals()方法

图2-005 Mage_SalesRule模块的Mage_SalesRule_Model_Validator::process()方法【关键】

(责任编辑:最模板)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。