Fuck Magento. It’s 2:30am and something in our entire store configuration is fucking up the ability to add products to cart.
Please specify the product required option(s).
Wait, no, just figured it out.
We’ve applied a rewrite rule to the website switching the user over to HTTPS when ever they visit the checkout page. Adding a product to cart calls the following handler:
checkout/cart/add
Our rewrite is basically:
^/.*checkout
So it catches the add to cart. Since we jump over to HTTPS, we lose the data handling the add to cart functionality somewhere. Using FireBug, I changed the form action to HTTPS and voila!
So note to self and others: when forcing checkout as HTTPS, make sure you change the product pages to reflect the changes.
Now to figure out how to do that…
action=”<?php echo $this->getAddToCartUrl($_product) ?>”
-cough-
action=”<?php echo str_replace(‘http’, ‘https’, $this->getAddToCartUrl($_product) ?>”
Beautiful hack-job.