西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

Magento购物车价格计算的功能实现代码

时间:2016-04-06 08:25来源:未知 作者:好模板 点击:
一、代码流程: 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_Addre
一、代码流程:
 
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()方法【关键】
    
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容