解決策があるかどうかわからないという問題に直面しています。実際には、magentoWebサイトAとmagentoWebサイトBがあり、どちらも同じコアソースを使用しています。どちらにも仕様があるため、Webサイトの対応するフォルダーのコードの一部をオーバーライドしました。
したがって、実際には、両方のWebサイトがWebサイトAのチェックアウトモジュールを使用しています。しかし、B Webサイトのチェックアウト動作を今すぐ変更する必要があり、BWebサイトのコントローラーのみを書き直す方法を探しています。
だから私の質問は:どうすればAウェブサイトのためだけにAフォルダーのチェックアウトコントローラーを書き直し、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を確認してから、Aサイトにいる場合は親関数を呼び出し、BWebサイトにいる場合は続行するように見えます。
これが良い解決策のように見えるかどうか教えてください。それとも私は何かが足りないのですか?
アドバイスありがとうございます!
セブ