First of all, the Answer here is very helpful: Overriding a Magento Controller in community extention
However, despite passing both of the "tests" mentioned in the answer there, I still have a module controller override that just refuses to work. Here is what I have:
\app\code\local\Company\OnepageCheckout\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Company_OnepageCheckout>
<version>0.0.1</version>
</Company_OnepageCheckout>
</modules>
<frontend>
<routers>
<onepagecheckout>
<args>
<modules>
<company_onepagecheckout before="IWD_OnepageCheckout">Company_OnepageCheckout</company_onepagecheckout>
</modules>
</args>
</onepagecheckout>
</routers>
</frontend>
</config>
\app\code\local\Company\OnepageCheckout\controllers\IndexController.php
<?php
require_once(Mage::getModuleDir('controllers','IWD_OnepageCheckout').DS.'IndexController.php');
class Company_OnepageCheckout_IndexController extends IWD_OnepageCheckout_IndexController
{
function indexAction() {
die('Hello world!');
}
}
\app\etc\modules\Company_OnepageCheckout.xml
<?xml version="1.0"?>
<config>
<modules>
<Company_OnepageCheckout>
<active>true</active>
<codePool>local</codePool>
<depends>
<IWD_OnepageCheckout />
</depends>
</Company_OnepageCheckout>
</modules>
</config>
This module is meant to override a module that is located in \app\code\community\IWD\OnepageCheckout\[...]
As mentioned at the top of this post, I've used the Reflection class as suggested in that other Question and can see my module first in the array ahead of the community module. However, when I visit mysite.com/onepagecheckout I still see the community module, and can't get it to use my file.
My hunch here is that it might have something to do with the capitalization of the module name that I'm just missing.