Вкратце: получение 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. Можете ли вы привести пример кода, который вы использовали?