带有其他参数的产品网址(CE 1.8和EE 1.13)


13

简而言之:在CE 1.8和EE 1.13中,检索带有其他参数的产品URL无效。

URL已随着最新版本的Magento更改。先前在CE 1.7和EE 1.12中,$this->getAddToCartUrl($_product)从产品列表进行调用将经历以下阶段:

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • 在这里它将添加查询参数“ options”,其值为“ cart”
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • 此方法本质上是从URL模型获取值
  3. 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将Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()通过核心/会话单例自动完成此操作。能给我一个您使用的代码示例吗?
jharrison.au 2013年

Answers:


3

哇,该类的增量从1.7.0.2-> 1.8.0.0开始!尽管此类有很大的变化,并且这是“破坏行为”,但应将其视为错误并应提交给EE支持。

关于此先前有效的功能,没有什么特别的新颖性或前卫性,并且即使在次要版本中,更新也不应存在重大更改(因此,Magento 2)。


谢谢Ben,只是想确保我没有错过任何东西。
jharrison.au,2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.