Question

This is how my add to cart functionality works :

I have a quick link for each products on home page. When I click on the link, I get a popup by ajax with add to cart functionality.

On submit, it adds product to cart and redirects to the ajax url through which the popup was generated which is wrong. Basically the popup is on home page and I want it to redirect to home page.

Now the problem is that Checkout module takes referral url which is ajax url and redirects to it.

The Cart controller has all the functions as protected so I am not even able to use interceptors.

So basically I could not find a way to do this.

Was it helpful?

Solution

There's a method called getBackUrl in Magento\Checkout\Controller\Cart that checks for return_url parameter. You could try adding a hidden input to your form with the name return_url and value of the homepage url.

If that doesn't work, you'll need to create a custom controller that extends Cart\Add and modify the execute method so that it redirects to the homepage. Then change the action of your form from checkout/cart/add to your/controller.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top