Magento - получить правило с купонного кода

Мне нужно получить правило, связанное с кодом купона, чтобы отобразить в цитате процент скидки этого правила. самый простой способ - вычислять непосредственно из котировочных сумм, но я хочу получить непосредственно правило, а затем получить процент скидки от него.

вот что я пробовал:

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

таким образом, я все еще не получил атрибуты атрибутов. любая помощь?

спасибо.

Ответ 1

Чтобы загрузить купон по коду, перейдите 'code' в качестве второго параметра в load(). Затем вы можете получить соответствующий экземпляр правила, используя значение rule_id вашего экземпляра купона:

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

Ответ 2

Сначала получите код купона

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

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

$orderDetails = $order->getData();

$couponCode = $orderDetails['coupon_code'];

Затем используйте решение Юргена Телена.

Ответ 3

Возможно, это решение поможет вам получить сумму купонного кода по купону.

$couponCode = ' ВАШ COUPONCODE';

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

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

print_r ($ oRule- > GetData()); выход();