如何从Magento销售订单中为可配置项目配置可配置项目的类型?

时间:2015-02-09 06:58:26

标签: magento

我有以下代码从magento的销售订单中检索产品类型。

$sku=$item->getSku();
$product=Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
echo '<br>'.$product->getTypeID().'<br>'; 

$item是我从销售订单中获得的变量。

现在,如果我尝试获取包含可配置产品的销售订单的详细信息,则会将类型打印为简单。然后我尝试从以下代码中获取产品的名称。

echo $product->getName();

显示与可配置项目关联的简单产品的名称。

如何才能将项目的类型设置为可配置。

谢谢,

2 个答案:

答案 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());
}