2012-05-10 34 views
10

Tôi phải truy lục quy tắc được liên kết với mã phiếu giảm giá để hiển thị trong báo giá phần trăm chiết khấu của quy tắc đó. cách đơn giản nhất là tính toán trực tiếp từ số tiền trích dẫn, nhưng tôi muốn lấy trực tiếp quy tắc và sau đó nhận phần trăm chiết khấu từ nó.Magento - nhận quy tắc từ mã phiếu giảm giá

đây là những gì tôi đã cố gắng:

$rule = Mage::getModel('salesrule/coupon'); 
$rule->load($couponCode); 

bằng cách này tôi vẫn havent quy tắc lấy các thuộc tính. bất kỳ giúp đỡ?

cảm ơn.

Trả lời

29

Để tải phiếu thưởng theo mã, hãy chuyển 'code' làm thông số thứ hai cho load(). Sau đó, bạn có thể nhận được các trường hợp quy định thích hợp bằng cách sử dụng các giá trị rule_id sơ thẩm coupon của bạn:

$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code'); 
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId()); 
var_dump($oRule->getData()); 
+0

Làm việc chính xác. – jruzafa

3

Đầu tiên lấy mã coupon

$orderNumber = 100000105; //order number with coupon code 

$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); 

$orderDetails = $order->getData(); 

$couponCode = $orderDetails['coupon_code']; 

Sau đó, sử dụng giải pháp của Jürgen Thelen.

0

Có thể giải pháp này sẽ giúp bạn nhận số tiền couponcode bằng mã phiếu thưởng.

$ couponCode = 'COUPONCODE CỦA BẠN';

$ oCoupon = Mage :: getModel ('salesrule/coupon') -> tải ($ couponCode, 'code');

$ oRule = Mage :: getModel ('salesrule/rule') -> tải ($ oCoupon-> getRuleId());

print_r ($ oRule-> getData()); exit();

Các vấn đề liên quan