Magento Mage ::带后缀的getUrl

时间:2012-11-06 00:19:47

标签: magento

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

例如,要获取以下产品网址:

类别/ product.html

您不能简单地执行Mage::getUrl('mycategory/myproduct.html')Mage::getUrl('mycategory/myproduct')

但是

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

3 个答案:

答案 0 :(得分:1)

你不 - 不?

使用getUrl方法的重点是,您提供了URL的幕后module/controller/action部分的摘要,然后系统处理生成实际的HTML网址您。

答案 1 :(得分:0)

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

$productId = ***;
$productUrl  = Mage::getBaseUrl().Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore()).Mage::helper('catalog/product')->getProductUrlSuffix();

答案 2 :(得分:-1)

如果您想获得产品网址,请使用以下

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

如果您刚刚从后端创建了产品,则需要在保存过程之后获取此URL,您必须使用事件catalog_product_save_after来获取它,创建一个观察者类,然后您就可以获得产品对象归功于$product = $observer->getEvent()->getProduct();