2012-05-10 15 views
10
abrufen

Ich muss die mit einem Gutscheincode verknüpfte Regel abrufen, um den Rabattprozentsatz dieser Regel im Angebot anzuzeigen. Der einfachste Weg ist, direkt aus Quoten zu berechnen, aber ich möchte direkt die Regel abrufen und dann den Rabatt Prozentsatz daraus erhalten.Magento - Regel aus Gutscheincode

das ist, was ich versucht:

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

durch diese Weise i-Attribute noch abgerufen Regeln havent. irgendeine Hilfe?

danke.

Antwort

29

Um einen Coupon nach Code zu laden, übergeben Sie 'code' als 2. Parameter an load(). Dann können Sie die richtige Regelinstanz erhalten, indem die rule_id Wert Ihrer Coupon-Instanz mit:

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

Funktioniert einwandfrei. – jruzafa

3

Zuerst sollten Sie den Gutschein-Code

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

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

$orderDetails = $order->getData(); 

$couponCode = $orderDetails['coupon_code']; 

Dann Lösung von Jürgen Thelen verwenden.

0

Kann diese Lösung Ihnen helfen, den Gutscheincode nach Gutscheincode zu erhalten.

$ couponCode = 'IHR COUPONCODE';

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

$ oRule = Mage :: getModel ('Umsatzregel/Regel') -> Laden ($ oCoupon-> getRuleId());

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