2012-07-25 34 views
1

我正試圖覆蓋Magento中的函數couponPostAction,它在cartcontroller中。Magento - 本地cartopler不起作用

我創建了一個新的本地模塊Nf_Ajaxcoupon。

這是配置文件

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Nf_Ajaxcoupon> 
      <version>0.1.0</version> 
     </Nf_Ajaxcoupon> 
    </modules> 
    <global> 

     <rewrite> 

      <Nf_Ajaxcoupon_checkout_cart> 
       <from><![CDATA[#^/checkout/cart/#]]></from> 

       <to>/Ajaxcoupon/checkout_cart/</to> 
      </Nf_Ajaxcoupon_checkout_cart> 
     </rewrite> 
    </global> 

    <frontend> 
     <routers> 
      <Nf_Ajaxcoupon> 


       <use>standard</use> 

       <args> 

        <module>Nf_Ajaxcoupon</module> 



        <frontName>Ajaxcoupon</frontName> 

       </args> 

      </Nf_Ajaxcoupon> 

     </routers> 

    </frontend> 

</config> 

這是我的模塊激活:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Nf_All> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Nf_All> 
    </modules> 
</config> 

這是我CartController.php文件:

<?php 

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


class Nf_Ajaxcoupon_Checkout_CartController extends Mage_Checkout_CartController 

    { 


    function couponPostAction() 
    { 
    var_dump($_POST); 
     die('local'); 


    } 
    } 

?> 

我不明白爲什麼它不調用本地控制器,當我去系統 - >配置 - >高級,我看到它啓用。

任何建議爲什麼它不工作或調試它的方式?

感謝

回答

1

這是覆蓋前端節點內的配置控制器的正確方法

<routers> 
    <checkout> 
     <args> 
      <modules> 
       <Nf_Ajaxcoupon before="Mage_Checkout">Nf_Ajaxcoupon_Checkout</Nf_Ajaxcoupon> 
      </modules> 
     </args> 
    </checkout> 
</routers> 

還你確定你的配置文件就不需要爲Nf_Ajaxcoupon不Nf_All

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Nf_Ajaxcoupon> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Nf_Ajaxcoupon> 
    </modules> 
</config> 
+0

嗨,安東,我累了,它仍然沒有工作。它不調用本地控制器。 – 2012-07-25 11:44:04

+0

然後你有錯別字或者你的緩存沒有被清除,以考慮到變化 – 2012-07-25 12:05:53

+0

FYI @AntonS的第一個XML塊應該包含在一個節點中,''節點值應該是'Nf_Ajaxcoupon_Checkout',AND您的控制器類需要在'app/code/local/Nf/Ajaxcoupon/controllers/Checkout/CartController.php'中。 – benmarks 2012-07-25 12:37:56