Вкратце: получение URL продукта с дополнительными параметрами не работает в CE 1.8 и EE 1.13.
URL были изменены с последней версией Magento. Ранее в CE 1.7 и EE 1.12 вызов $this->getAddToCartUrl($_product)
из списка продуктов проходил через следующие этапы:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Здесь было бы добавить параметр запроса "параметры" со значением "корзина"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Этот метод по существу получает значение из модели URL
Mage_Catalog_Model_Product_Url::getUrl()
- Большая обработка происходит до тех пор, пока URL не будет окончательно сгенерирован, в комплекте с параметрами запроса, изначально переданными в
Теперь, с CE 1.8 и EE 1.13, шаг 3 Mage_Catalog_Model_Product_Url::getUrl()
начинается следующим образом:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Поскольку продукты в списке уже имеют данные URL, параметры запроса не добавляются, а окончательный URL не содержится ?options=cart
.
Мой вопрос: это ошибка или фича?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
через синглтон core / session. Можете ли вы привести пример кода, который вы использовали?