这个问题很简单。 如果我知道我的产品而不是其他的SKU,我怎么能检索网址到该项目。 这是第三方集成,其中在远程服务的唯一ID不会匹配的产品ID中很常用。 或者,也许你想搜索框仅SKU进行搜索。
Answer 1:
你可以这样做:
$sku = 'ecco'; // SKU you want to load. 'ecco' is a sku in the Magento demo data
$url = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku)->getProductUrl();
echo $url;
Answer 2:
此外....你可以添加这一个在Magento的根目录名为“geturlbysku.php”文件。 这种代码使JSON的代表产品少量能够容易地拉动时,使小JavaScript集成。 产品网址是数据集的一部分
<?php
require_once '/app/Mage.php';
umask(0);
Mage::app('admin');
$actual_link = "http://$_SERVER[HTTP_HOST]";
$sku = $_GET['sku'];
$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
$fullUrl = "/catalog/product/view/id/" . $product->getId();
header("Content-Type: application/json");
echo $_GET['callback'] . '('.json_encode($product->getData()).')';
?>
使用这样的... www.yoursite.com/geturlbysku.php?sku=theskuoftheproduct
数据的一部分返回包括“url_path”:“你的产品,name.html”对应于真实的URL。
Answer 3:
您可以使用load方法。 这是比所有其他解决方案更快,更容易。
Mage::getModel('catalog/product')->load('sku', 'sku');
有关加载产品的更多信息请点击这里
Answer 4:
$product = Mage::helper('catalog/product')->getProduct($this->getData('sku'), Mage::app()->getStore()->getId(), 'sku');
$url = Mage::getUrl($product->getUrlPath());
您可以通过添加这一个方法,然后在类SKU属性设置为你想要搜索的SKU访问基于其SKU产品的完整URL。
文章来源: How can I get the Url of a product from its SKU in Magento