1
如何在兩個不同的自定義模塊中覆蓋相同的magento核心控制器?覆蓋Magento中多個自定義模塊中的控制器
如何在兩個不同的自定義模塊中覆蓋相同的magento核心控制器?覆蓋Magento中多個自定義模塊中的控制器
正如你可能知道,你可以使用下面的XML(在config.xml文件中)易控的核心控制器:
<frontend>
<routers>
<core_module>
<args>
<modules>
<YouPackage_YourModule before="Mage_CoreModule">YouPackage_YourModule_YourController</YouPackage_YourModule>
</modules>
</args>
</core_module>
</routers>
</frontend>
您可以覆蓋核心控制器儘可能多的時間,只要你想,但你必須確保這個控制器中的操作是不同的。如果您想覆蓋相同的操作,則必須使用某些組合操作來解決衝突。沒有辦法從不同的控制器調用相同的動作。
嗨azakolyukin,非常感謝快速回復。因爲我已經在moduleA中覆蓋了一個核心控制器,並且現在我試圖在moduleB中覆蓋同一個控制器,在這兩個模塊中我也採取了不同的操作,但magento只調用我在moduleA中寫入的操作,而不是moduleB中的操作。所以我如何克服這個問題,以便我可以使用這兩個模塊的動作(在兩個模塊中寫入覆蓋控制器的動作)。謝謝 – Rupali
在模塊B中,你應該在'YouPackage_YourModuleA> YouPackage_YourModule_YourController YouPackage_YourModule>之前寫'
Zyava
答案是不完整的,只有當你的第二個模塊/重載(B)引入了一個新的方法,否則第一個模塊/重載(A)將被初始化。請參閱@Zyava解決此類問題的答案(您的第二個模塊也需要在此方案中擴展第一個模塊) – WonderLand