我有以下代码从magento的销售订单中检索产品类型。
$sku=$item->getSku();
$product=Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
echo '<br>'.$product->getTypeID().'<br>';
$item
是我从销售订单中获得的变量。
现在,如果我尝试获取包含可配置产品的销售订单的详细信息,则会将类型打印为简单。然后我尝试从以下代码中获取产品的名称。
echo $product->getName();
显示与可配置项目关联的简单产品的名称。
如何才能将项目的类型设置为可配置。
谢谢,
答案 0 :(得分:0)
尝试使用以下代码,
$产品 - &GT; getProductType()
答案 1 :(得分:0)
Magento为订单上的每个可配置产品存储两个商品记录。仅从对中获取可配置项的最常见方法是调用$order->getAllVisibleItems()
,这将返回一组Mage_Sales_Model_Order_Item
个对象,其中只包含客户可见的项目记录。
但是,如果您只拥有该对中的简单项目,您还可以获得如下的父产品:
/**
* @var Mage_Sales_Model_Order $order
* @var Mage_Sales_Model_Order_Item $item
* @var Mage_Catalog_Model_Product $product
*/
if ($parentId = $item->getParentItemId()) {
$parent = $order->getItemById($parentId);
$product = Mage::getModel('catalog/product')->load($parent->getProductId());
}