Could someone help me with the following issue I have with a module? I've been stuck for a couple of hours and could do with a fresh perspective.
I have two modules ModuleA and ModuleB which both extend the same Onepage_Checkout class using rewrites. I've almost solved the issue of the rewrite but I have run into two issues.
The first is that ModuleA and ModuleB both add a step to Onepage Checkout. Each additional step is visible but for some reason, ModuleB is skipped and doesn't become active.
The second is I need to add an option to disable or enable ModuleA per store/website
I've added this code to the system.xml file but it doesn't seem to work
<enable translate="label">
<label>Enable</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</enable>
Do I need to alter the DB table in any way or is there something else that I have missed?
Also, if I disable ModuleB for StoreA and disable ModuleA for storeB due to dependencies will they both still be active in either store? The reason I ask is I need to have the flexibility to enable or disable each module per store and not have them both active…
Can anyone assist? I really appreciate it…
Best Answer
There is no connection between any config setting and your module unless you evaluate that setting in PHP.
Once upon a time there were two extensions which everyone installed on their Magento site:
Fooman_Speedster
andYoast_CanonicalUrl
. Both rewrote theMage_Page_Block_Html_Head
class, so both authors had instructions on how to handle this. Because Yoast's extension loaded after Fooman's (Y > F), Yoast came up with a workaround which helped most people who were installing the extensions via Connect and had no ability to work with the code.In Yoast/CanonicalUrl/Block/Head:
This suggests an approach for you. You will need to read store-relative values though
and handle condition combinations where the other module is active or not.