Magento:构建产品URL

时间:2011-04-19 16:23:49

标签: magento

我能够从magento商店获取名称,图片URL,描述等属性。但是获取产品URL非常繁琐。任何帮助?感谢。

include_once 'app/Mage.php';
umask(0);
Mage::app();

$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToSelect('*');
$products->load(); 
    $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);

    foreach ($products as $id => $product):
   $output .= '
   <product>
   <name><![CDATA['. $product['name'] .']]></name>
   <description><![CDATA['. $product['description'] .']]></description>
   <url>'. $product['url_key'] .'</url>
   <image>'. $baseUrl ."media/catalog/product". $product['image'] .'</image>';
   </product>

2 个答案:

答案 0 :(得分:1)

产品网址只是:

$product->getProductUrl()

事实上,如果在Magento对象上使用getter和setter而不是数组访问会更好,因为它允许其他开发人员以传统方式提供覆盖。因此,请使用$product['description']而不是$product->getDescription()。这将避免将来出现问题。

答案 1 :(得分:0)

您可以简单地使用:

,而不是自己计算基本网址
'<image'>.Mage::helper('catalog/image')->init($product).'</image>'

帮助程序内置了__toString()函数,因此在用作字符串时会自动生成URL。它还会处理水印,调整大小,裁剪以及您通常看到的所有其他事情,但理所当然。