我怎样才能得到一个产品的URL从它的SKU在Magento(How can I get the Ur

2019-07-21 01:30发布

这个问题很简单。 如果我知道我的产品而不是其他的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
标签: magento