Pergunta

I am trying to override Magento Core CartController, But the core CartController is loading config.xml (inside community/Company/BnOverride/etc/)

<?xml version="1.0"?>
<config>
    <modules>
        <Company_BnOverride>
            <version>0.1.0</version>
        </Company_BnOverride>
    </modules>
    <frontend>
        <routers>
          <checkout>
                <args>
                    <modules>
                        <company_bnoverride before="Mage_Checkout">Company_BnOverride</company_bnoverride>
                    </modules>
                </args>
           </checkout>
        </routers>
    </frontend>
</config>

CartController.php inside (community/Company/BnOverride/controllers/)

<?php 
require_once 'Mage/Checkout/controllers/CartController.php';
class Company_BnOverride_CartController extends Mage_Checkout_CartController
{
    /**
     * Shopping cart display action
     */
    public function indexAction()
    {

        echo "Cart page";
        exit;
 }

And Company_BnOverride.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Company_BnOverride>
            <active>true</active>
            <codePool>community</codePool>
        </Company_BnOverride>
    </modules>
</config>
Foi útil?

Solução

Replace Code in Config.xml file with :

<checkout>
     <args>
         <modules>
             <Company_Bnoverride before="Mage_Checkout">Company_BnOverride</Company_Bnoverride>
         </modules>
     </args>
 </checkout>

Also Replace Company_BnOverride.xml File

<?xml version="1.0"?>
<config>
    <modules>
        <Company_BnOverride>
            <active>true</active>
            <codePool>community</codePool>
        </Company_BnOverride>
    </modules>
</config>

Outras dicas

change

<company_bnoverride before="Mage_Checkout_Cart">Company_BnOverride</company_bnoverride>

to

<company_bnoverride before="Mage_Checkout">Company_BnOverride</company_bnoverride>

Replace your controller frontend xml code with below one,

 <frontend>
       <routers>
           <checkout>
                 <args>
                     <modules>
                         <company_bnoverride before="Mage_Checkout">Company_BnOverride</company_bnoverride>
                      </modules>
                 </args>
           </checkout>
       </routers>
 </frontend>

You have to keep only Mage_Checkout instead of Mage_Checkout_Cart

Just keep Module name declaration of override module. Here in your case is checkout module.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top