2011-06-16 187 views
6

我需要使用服務器端代碼檢查結帳/購物車頁面上優惠券代碼的有效性。如何覆蓋Magento控制器?

的Magento已經附帶到位類似的檢查。但是,我需要添加一個以查看用戶是否已連接:在Magento中擴展/覆蓋該操作的最佳方式是什麼?

我知道我可以在控制器PHP文件複製到/app/code/local/文件夾樹,但我不知道是否有更好的方法來做到這一點。除了修改core

回答

11

任何事情都是在我看來不錯。隨着中說創建一個簡單的模塊與控制器目錄等與config.xml文件:

<config> 
    <frontend> 
     <routers> 
      <checkout> 
       <args> 
        <modules> 
         <My_Module before="Mage_Checkout">My_Module_Checkout</My_Module> 
        </modules> 
       </args> 
      </checkout> 
     </routers> 
    </frontend> 
</config> 

看到這裏就如何擴展前端控制器的詳細信息: http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

+2

Thnak你,其實我做那個,但我需要明確地在require_once(「Mage/Checkout/controllers/CartController.php」)上添加一個require; – JohnT 2011-06-16 16:24:36

+2

你能用完整的config.xml和控制器代碼更新你的文章嗎? – B00MER 2011-06-16 16:25:03