2012-05-10 18 views
10

Devo recuperare la regola associata a un codice coupon per visualizzare in quotazione la percentuale di sconto di tale regola. il modo più semplice è calcolare direttamente dagli importi delle quote, ma voglio recuperare direttamente la regola e quindi ottenere la percentuale di sconto da essa.Magento - ottieni la regola dal codice coupon

questo è quello che ho provato:

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

in questo modo ho ancora havent regole recuperati gli attributi. qualsiasi aiuto?

grazie.

risposta

29

Per caricare un coupon per codice, passare 'code' come secondo parametro su load(). Poi si può ottenere la giusta istanza regola utilizzando il valore rule_id dell'istanza coupon:

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

Operare correttamente. – jruzafa

3

prima ottenere il codice coupon

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

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

$orderDetails = $order->getData(); 

$couponCode = $orderDetails['coupon_code']; 

poi usare la soluzione da Jürgen Thelen.

0

Questa soluzione ti aiuterà a ottenere l'ammontare del coupon con il codice del coupon.

$ couponCode = 'YOUR COUPONCODE';

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

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

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