Magento:使用getModel获取产品和类别

时间:2011-01-12 11:26:10

标签: php magento

我有一些代码可以返回一系列产品详细信息,包括url_path。要创建此产品的链接,我必须知道产品的类别和子类别。不幸的是,这个方法返回的所有数据都没有提取类别或子类别。

以下是我获得产品的代码:

$product_id = array(231, 230,229,228);

foreach ($product_id as $id){
    $productDetails = Mage::getModel('catalog/product')->load($id)->getData();
    echo $productDetails['url_path'].'<br />';
}

是否可以获得每种产品的类别和子类别?

2 个答案:

答案 0 :(得分:3)

您正在寻找

foreach ($product_id as $id){
    $categoryIds = Mage::getModel('catalog/product')->load($id)->getCategoryIds();    
}

将返回产品所属的类别ID数组。

答案 1 :(得分:0)

更好的方法是不要错过重写的东西是使用核心功能。 Mage_Catalog模块具有自己的url模型,可以修改产品URL。

所以,代码将是:

$product_id = array(231, 230,229,228);

$urlModel = Mage::getSingleton('catalog/url');
foreach ($product_id as $id) {
    $urlModel->refreshProductRewrite($id);
}

并且不需要为此目的检索类别ID。