This question is for understanding and clarification purposes.
I have installed Magento CE 1.9.3.1 in my local windows 7 64bit system.
Now I have overrided the CartController
through community module as below:
magento_root\app\code\community\Company\Customcheckout\etc\config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Company_Customcheckout>
<version>1.0.0</version>
</Company_Customcheckout>
</modules>
<frontend>
<routers>
<Company_Customcheckout>
<use>standard</use>
<args>
<module>Company_Customcheckout</module>
<frontName>customcheckout</frontName>
</args>
</Company_Customcheckout>
</routers>
</frontend>
<global>
<routers>
<checkout>
<rewrite>
<cart>
<to>customcheckout/cart</to>
<override_actions>true</override_actions>
<actions>
<add>
<to>customcheckout/cart/add</to>
</add>
<index>
<to>customcheckout/cart/index</to>
</index>
</actions>
</cart>
</rewrite>
</checkout>
</routers>
</global>
</config>
magento_root\app\code\community\Company\Customcheckout\controllers\CartController.php
<?php
require_once 'Mage/Checkout/controllers/CartController.php';
class Company_Customcheckout_CartController extends Mage_Checkout_CartController {
public function _construct() {}
public function addAction() {
parent::addAction();
}
public function indexAction() {
parent::indexAction();
}
}
and the app/etc/modules directory has also the relevant module's xml file.
Now when I try to add any product(from product listing page) to cart I am getting 503 Service Unavailable
error which is just title of error: Invalid form key
. If I disable the module (i.e. disable the override) then the add to cart and redirect to cart works fine.
That makes me wonder, why it would give me Invalid form key
error when I have just overrided the CartController
class which has core CartController.php
class required(path is fully correct) and I am accessing it's methods by parent
keyword ? Firstly is it due to parent-child hierarchy of PHP ? Please provide a detailed explanation.