我面臨一個問題,我不知道有一個解決方案。 其實,我們有一個magento網站A和一個magento網站B,它們都使用相同的核心來源。由於它們都有一些規範,我們忽略了網站相應文件夾中代碼的某些部分。Magento:多個網站和多個控制器覆蓋
所以實際上,這兩個網站都使用網站A的Checkout模塊。但是B網站的結賬行爲現在必須改變,我正在尋找一種方法來重寫B網站的控制器。
所以我的問題是:我怎麼能改寫在一個文件夾結賬控制器僅針對一個網站和重寫相同的控制器在B文件夾,只爲B網站?
我已經嘗試過這樣做沒有任何成功的情況如下:
一個站點 - > config.xml中
<routers>
<checkout>
<args>
<modules>
<Mage_Checkout>Mage_Checkout</Mage_Checkout>
<A_Checkout before="Mage_Checkout">A_Checkout</A_Checkout>
<frontname>checkout</frontname>
</modules>
</args>
</checkout>
</routers>
B位 - > config.xml中
<routers>
<checkout>
<args>
<modules>
<Mage_Checkout>Mage_Checkout</Mage_Checkout>
<B_Checkout before="A_Checkout">B_Checkout</B_Checkout>
<frontname>checkout</frontname>
</modules>
</args>
</checkout>
</routers>
問題B檢驗控制器是首先調用的。
在這種情況下,我唯一能做的貌似檢查websiteId,然後調用父類的函數,如果我們在一個網站或繼續,如果我們在B網站上。
你能告訴我這是不是一個好的解決方案?或者我錯過了什麼?
非常感謝您的任何建議!
勒布