如何从可配置项目的 Magento 销售订单中获取可配置项目的类型?
How to get the type of configurable item as configurable from Magento sales order for a configurable Item?
我有以下代码可以从 magento 的销售订单中检索产品类型。
$sku=$item->getSku();
$product=Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
echo '<br>'.$product->getTypeID().'<br>';
$item
是我从销售订单中得到的变量。
现在,如果我尝试获取包含可配置产品的销售订单的详细信息,它会将类型打印为 简单。然后我尝试从以下代码中获取产品的名称。
echo $product->getName();
它显示了与可配置项关联的简单产品的名称。
我应该怎么做才能将项目的类型设为 可配置。
谢谢,
尝试使用下面的代码,
$product->getProductType()
Magento 为订单上的每个可配置产品存储两个项目记录。仅从该对中获取可配置项目的最常见方法是调用 $order->getAllVisibleItems()
,这将 return 一个 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());
}
我有以下代码可以从 magento 的销售订单中检索产品类型。
$sku=$item->getSku();
$product=Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
echo '<br>'.$product->getTypeID().'<br>';
$item
是我从销售订单中得到的变量。
现在,如果我尝试获取包含可配置产品的销售订单的详细信息,它会将类型打印为 简单。然后我尝试从以下代码中获取产品的名称。
echo $product->getName();
它显示了与可配置项关联的简单产品的名称。
我应该怎么做才能将项目的类型设为 可配置。
谢谢,
尝试使用下面的代码,
$product->getProductType()
Magento 为订单上的每个可配置产品存储两个项目记录。仅从该对中获取可配置项目的最常见方法是调用 $order->getAllVisibleItems()
,这将 return 一个 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());
}