如何在我们的自定义模块magento中覆盖购物车控制器优惠券操作

时间:2013-11-28 13:25:16

标签: php magento

我有一个需要覆盖优惠券代码功能的模块

 <frontend>
    <routers>
        <customcoupons>
            <use>standard</use>
            <args>
                <module>Mycompany_Customcoupons</module>
                <frontName>customcoupons</frontName>
            </args>
        </customcoupons>
        <checkout><!-- Override code starts-->
             <args>
                 <modules>
                    <Mycompany_Customcoupons before="Mage_Checkout">Mycompany_Customcoupons</Mycompany_Customcoupons>
                </modules>
             </args>
        </checkout><!-- Override code ends-->
    </routers>
    <layout>
        <updates>
            <customcoupons>
                <file>customcoupons.xml</file>
            </customcoupons>
        </updates>
    </layout>
</frontend>

我的自定义模块管理页面工作正常,如果我没有添加覆盖代码,但如果我添加<checkout>阻止它显示404页面。可能是什么问题呢?如何在此添加覆盖块?

2 个答案:

答案 0 :(得分:6)

请在config.XML中写下

<global>
    <rewrite>
         <mycompany_customcoupons>
               <from><![CDATA[#^/checkout/cart/#]]></from>
               <to>/customcoupons/cart/</to>
         </mycompany_customcoupons>
    </rewrite>

</global>

现在创建文件:app / code / local / Mycompany / Customcoupons / CartController.php

在CartController.php中,写下以下代码。

<?PHP

require_once 'Mage/Checkout/controllers/CartController.php';

class Mycompany_Customcoupons_CartController extends Mage_Checkout_CartController
{

   public function couponPostAction()
    {
         // Start You code here.
    }
}

?>

答案 1 :(得分:-3)

您需要在此XML中添加块覆盖代码。这个链接会有所帮助:http://magentocustom.blogspot.in/2011/05/how-to-override-magento-block-classes.html