简而言之:在CE 1.8和EE 1.13中,检索带有其他参数的产品URL无效。
URL已随着最新版本的Magento更改。先前在CE 1.7和EE 1.12中,$this->getAddToCartUrl($_product)
从产品列表进行调用将经历以下阶段:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- 在这里它将添加查询参数“ options”,其值为“ cart”
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
。
我的问题:这是错误还是功能?
附带一提,在几次EE1.13升级后,我们必须在添加到购物车网址中添加一个form_key标记
—
brentwpeterson
感谢您的输入-从外观上看,Magento将
—
jharrison.au 2013年
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
通过核心/会话单例自动完成此操作。能给我一个您使用的代码示例吗?