問(wèn)題描述
有誰(shuí)知道如何從訂單中獲取目錄和購(gòu)物車(chē)價(jià)格規(guī)則?
does anyone know how one can get the catalog- and cart price rules from an order?
我知道我可以通過(guò) getDiscountPercent()
方法獲取訂單商品的折扣百分比,但是我如何獲取應(yīng)用于整個(gè)訂單的所有規(guī)則?
I know that I can get the discount percentage from an order item via the method getDiscountPercent()
, but how can I get all the rules that were applied to the whole order?
例如,我有一個(gè)規(guī)則客戶組 X 可享受商店中所有商品 20% 的折扣".
For example, I have a rule "Customer Group X gets 20% off all items in the store".
現(xiàn)在我想確定在用戶提交訂單時(shí)實(shí)際應(yīng)用了哪些規(guī)則.我需要這個(gè)用于訂單導(dǎo)出界面,我必須在其中提供用戶獲得的所有折扣.
Now I want to determine which rules were actually applied when the order has been submitted by the user. I need this for an order export interface where I have to supply all discounts that the user got.
提前致謝!
推薦答案
查看 sales_flat_order_item
表.有一個(gè)名為 applied_rule_ids
的字段,它將為您提供應(yīng)用于該項(xiàng)目的規(guī)則的 ID.您還可以在此表中找到應(yīng)用了多少折扣和百分比.
Have a look in the sales_flat_order_item
table. there is a field called applied_rule_ids
which will give you the id of the rule applied to that item. Also you can find out in this table how much discount was applied and the percentage.
例子
//The order I want to check
$order_id = 859;
//Get the list of items for your order
$items = Mage::getModel('sales/order_item')
->getCollection()
->addFilter('order_id',array('eq'=>$order_id));
//loop through each item
foreach($items as $item){
//if the item has not had a rule applied to it skip it
if($item->getAppliedRuleIds() == '')continue;
/*
* I cant remember in the database they might be comma separated or space if multiple rules were applied
* the getAppliedRuleIds() function is the one you want
*/
foreach(explode(",",$item->getAppliedRuleIds()) as $ruleID){
//Load the rule object
$rule = Mage::getModel('catalogrule/rule')->load($ruleID);
// Throw out some information like the rule name what product it was applied to
echo "<p>".$item->getSku()." had rule ".$rule->getName()."(".$item->getAppliedRuleIds().") applied </p>";
}
}
這篇關(guān)于Magento - 從訂單中獲取價(jià)格規(guī)則的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!