2

当 url 具有 .html 后缀时,在 magento 中处理生成 url 的正确方法是什么。

例如,要获取以下产品 url:

类别/product.html

你不能简单地做Mage::getUrl('mycategory/myproduct.html')Mage::getUrl('mycategory/myproduct')

但反而

Mage::getUrl() . 'mycategory/myproduct.html'
4

3 回答 3

1

你——不?

拥有一个getUrl方法的重点是您提供抽象的、在幕后module/controller/action的 URL 部分,然后系统会为您处理生成实际的 HTML url。

于 2012-11-06T00:43:02.283 回答
0

获取产品网址的最佳方式:

$productId = ***;
$productUrl  = Mage::getBaseUrl().Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore()).Mage::helper('catalog/product')->getProductUrlSuffix();
于 2016-03-22T22:13:16.270 回答
-1

如果要获取产品 url,则应使用以下内容

$product = Mage::getModel('catalog/product')->load($productId);
echo $url = $product->getProductUrl();

如果你刚刚从后端创建了产品,你需要在保存过程之后获取这个 url,你必须通过使用事件来获取它catalog_product_save_after,创建一个观察者类,你可以在那里获取产品对象,感谢$product = $observer->getEvent()->getProduct();

于 2012-11-06T08:39:35.493 回答