magentoのcheckout/controllers / cartController.phpに新しいカートaddAction()を作成しています。私の必要性は、製品がカートに追加されるときはいつでも、現在追加されているものを除いて、カート内のすべての既存の製品をクリアする必要があるということです。あれは、
Nokia 3220が空のカートに追加された場合は、アイテムとして配置する必要があります。
その後、Nokia N72が追加された場合は、Nokia 3220(つまり前のアイテム)をカートからクリアし、NokiaN72を配置する必要があります。
CartController.phpをオーバーライドし、CartController.phpのaddAction()の先頭にコードを追加しました。
$ checkout_my_cart = Mage :: getSingleton('checkout / cart'); $ current_items = $ checkout_my_cart-> getItems(); foreach($ current_items as $ item){$ itemId = $ item-> getItemId(); $ checkout_my_cart-> removeItem($ itemId)-> save(); }
ただし、既存のアイテムを置き換えるために新しいアイテムを追加すると、カート全体がクリアされます。Addaction()の先頭にコードを追加したので、そうすべきではないと思います。上記のコードを関数として定義し、addAction()で呼び出してみました。しかし、話は同じようです。
どんな助けでもありがたいです。
助けてください。