В ходе разработки всегда наступает момент, когда нужно сделать неочевидное задание клиента.

Очередное - ajax добавление товара с кастом редиректом. Для начала нужно получить ссылку для добавления товара.

Существует несколько функций для получения ссылок для POST- запросов:

  • 1. $this->getAddToCartUrl($_product, array('_secure' => true))
  • 2. Mage::helper('checkout/cart')->getAddUrl($_product)
  • 3. Mage::getUrl('checkout/cart/add', array('product' => $_product->getId()))

Как показала практика - лучше всего в ajax-запросах работает последний вариант. Только не забывайте учитывать скорость работы вашего веб-сервера (ставьте большой таймаут).