Overriding Magento CartController not working
-
05-10-2020 - |
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>
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