从产品sku获取产品类型的Magento方法

12

我该如何通过产品sku或id获取产品类型(simplee、configurable/grouped等),我已经加载了产品集合,并尝试通过以下方式获取产品类型:

$_product->getTypeId()
但它没有打印产品类型。请帮忙。
谢谢。
4个回答

13

我认为$_product->getTypeId()应该有效。如果无效,请尝试$_product->getResource()->getTypeId()


嗨,chapagain,抱歉这个过程是在订单报告模块下进行的,我想这就是为什么我没有得到type_id的原因。 - Elamurugan
当我使用“product_type”时,我得到了结果。谢谢Chapagain。 - Elamurugan
从你的博客中,我使用了以下代码:$collectionconfigurable = Mage::getResourceModel('catalog/product_collection') ->addAttributeToFilter('type_id', array('eq' => 'configurable')); 但是在这里我想要所有内部产品的 sku。请帮助我。 - Elamurugan
@Ela,那是完全不同的问题。也许你应该将其作为另一个问题发布,以便可以直接回答。 - Joe Mastey
1
@Ela:在订单报告模块中,您有产品集合。因此,我认为您也有产品ID。然后,您可以通过产品ID加载产品。之后,我认为您应该能够获取产品类型。 - Mukesh Chapagain

8

我在phtml文件中通过以下方式获取产品类型

$product=Mage::getModel('catalog/product')->load($product_id);
$productType=$product->getTypeID();
//Simple Product    
if($productType == 'simple')
{   
  echo "Simple Product";
}                           
//Configurable Product
if($productType == 'configurable')
{   
  echo "Configurable Product";
}

2

你知道吗?通过执行print_r($_product->getData()),你可以看到一个对象里面的内容。


嗨Anton,是的我知道如何在Magento中进行调试。print_r、var_dump、Zend_Debug::dump,但我现在在订单报告模块,这就是我没有获取到type_id的原因。 - Elamurugan

1

这里有另一个提示。

如果您正在遍历购物车项目,请使用getProductType()获取产品类型信息。例如 -

foreach( $cartItems as $item ){
    if($item->getProductType() == "configurable") {

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接