当 url 具有 .html 后缀时,在 magento 中处理生成 url 的正确方法是什么。
例如,要获取以下产品 url:
类别/product.html
你不能简单地做Mage::getUrl('mycategory/myproduct.html')
或Mage::getUrl('mycategory/myproduct')
但反而
Mage::getUrl() . 'mycategory/myproduct.html'
当 url 具有 .html 后缀时,在 magento 中处理生成 url 的正确方法是什么。
例如,要获取以下产品 url:
类别/product.html
你不能简单地做Mage::getUrl('mycategory/myproduct.html')
或Mage::getUrl('mycategory/myproduct')
但反而
Mage::getUrl() . 'mycategory/myproduct.html'
你——不?
拥有一个getUrl
方法的重点是您提供抽象的、在幕后module/controller/action
的 URL 部分,然后系统会为您处理生成实际的 HTML url。
获取产品网址的最佳方式:
$productId = ***;
$productUrl = Mage::getBaseUrl().Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore()).Mage::helper('catalog/product')->getProductUrlSuffix();
如果要获取产品 url,则应使用以下内容
$product = Mage::getModel('catalog/product')->load($productId);
echo $url = $product->getProductUrl();
如果你刚刚从后端创建了产品,你需要在保存过程之后获取这个 url,你必须通过使用事件来获取它catalog_product_save_after
,创建一个观察者类,你可以在那里获取产品对象,感谢$product = $observer->getEvent()->getProduct();