2013-08-01 3 views
0

Проблема, которую я испытываю при попытке применить скидку к заказу от оформления заказа, будет применяться полная скидка в нижней части страницы заказа администратора magento, но в позициях отображается дисконт в размере $ 0.Скидка Magento не отображается в строке, но итоговые значения верны.

например, скажем, у меня есть поощрение на 50% на все, и кто-то покупает 2 предмета, Apple за 10 долларов США и Orange за 5 долларов США, общая сумма корзины составит 15-50% = 7,50 доллара, что уже происходит, но тогда, когда вы посмотрите на позиции, на которые установлена ​​скидка: $ 0, где это должно быть: яблоко qty: 1 цена $ 10 скидка $ 5 всего $ 5 оранжевый кол-во: 1 цена $ 5 скидка 2,50 всего $ 2,50; вот мой код:

$couponCode = (string) $this->getRequest()->getParam('coupon_code'); 
    if ($this->getRequest()->getParam('remove') == 1) { 
     $couponCode = ''; 
    } 
    $oldCouponCode = $this->_getQuote()->getCouponCode(); 

    if (!strlen($couponCode) && !strlen($oldCouponCode)) { 
     $this->_goBack(); 
     return; 
    } 

    try { 
     $this->_getQuote()->getShippingAddress()->setCollectShippingRates(true); 
     $this->_getQuote()->setCouponCode(strlen($couponCode) ? $couponCode : '') 
      ->collectTotals() 
      ->save(); 

     if ($couponCode) { 
      if ($couponCode == $this->_getQuote()->getCouponCode()) { 
       $this->_getSession()->addSuccess(
        $this->__('Coupon code "%s" was applied.', Mage::helper('core')->htmlspecialchars($couponCode)) 
       ); 
      } 
      else { 
       $this->_getSession()->addError(
        $this->__('Coupon code "%s" is not valid.', Mage::helper('core')->htmlspecialchars($couponCode)) 
       ); 
      } 
     } else { 
      $this->_getSession()->addSuccess($this->__('Coupon code was canceled.')); 
     } 


    echo $this->_getReviewHtml(); 
    exit; 

ответ

0

Является ли рекламное правило корзины скидкой на скидку за товар или за весь заказ?

Сам код выглядит нормально.

Возможно, вы также захотите добавить для проверки.

Mage::getSingleton("checkout/session")->setData("coupon_code",strlen($couponCode)); 
+0

привет спасибо за предложение, его не промо-правило само по себе, поскольку оно делает это только для этого конкретного способа оплаты (созданный пользователем) Я думаю, что это может иметь отношение к наблюдателю – user1920187

 Смежные вопросы

  • Нет связанных вопросов^_^