как показать промо-код или код купона на странице оформления заказа в magento 1.9


Как я могу показать промо-код или код купона на странице оформления заказа в magento 1.9. И у нас может быть опция в панели администратора или мы делаем это с помощью кода? пожалуйста, помогите мне!!!

Author: Ashish Viradiya, 2019-01-01

1 answers

Вы можете назвать код купона при оформлении заказа, используя следующий код:

<div class="custom-coupan">
    <?php echo $this->getLayout()->createBlock('checkout/cart_coupon')
->setTemplate('checkout/cart/coupon.phtml')->toHtml(); ?>
</div>

Вам нужно добавить код по адресу:

Mag1root/приложение/дизайн/интерфейс/{пакет}/{тема}/шаблон/оформление заказа/страница/прогресс.phtml

Примечание: когда вы применяете код купона, он перенаправляется на страницу корзины, поэтому требуется правильное переопределение контроллера и перенаправление с места отправки.

Обновление I

Если нам нужно показать сообщение об успехе/ошибке при оформлении заказа страница, нам нужно создать модуль, скажем Mago_Coupon

Создать

App/etc/modules/Mago_Coupon.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Mago_Coupon>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Checkout />
            </depends>
        </Mago_Coupon>
    </modules>
</config>

App/code/local/Mago/Coupon/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Mago_Coupon>
      <version>0.1.0</version>
    </Mago_Coupon>
  </modules>
  <frontend>
   <routers>
        <coupon>
              <use>standard</use>
              <args>
                 <module>Mago_Coupon</module>
                 <frontName>coupon</frontName>
             </args>         
        </coupon>
        <checkout>
            <args>
                 <modules>
                     <Mago_Coupon before="Mage_Checkout">Mago_Coupon</Mago_Coupon>
                 </modules>
            </args>
        </checkout>
    </routers>
    </frontend>
</config>

App/code/local/Mago/Coupon/controllers/CartController.php

<?php
require_once Mage::getModuleDir('controllers', 'Mage_Checkout') . DS . 'CartController.php';
class Mago_Coupon_CartController extends Mage_Checkout_CartController
{
    public function couponPostAction()
    {

        /**
         * No reason continue with empty shopping cart
         */
        if (!$this->_getCart()->getQuote()->getItemsCount()) {

            $this->_redirectReferer();
            return;
        }

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

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

        try {
            $codeLength = strlen($couponCode);
            $isCodeLengthValid = $codeLength && $codeLength <= Mage_Checkout_Helper_Cart::COUPON_CODE_MAX_LENGTH;

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

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

        } catch (Mage_Core_Exception $e) {
            $this->_getSession()->addError($e->getMessage());
        } catch (Exception $e) {
            $this->_getSession()->addError($this->__('Cannot apply the coupon code.'));
            Mage::logException($e);
        }

        $this->_redirectReferer();
    }
}

Теперь Mageto будет читать это couponPostAction вместо основного couponPostAction.

 3
Author: Pawan, 2019-01-01 12:24:30