使用Magento CE 1.8.x,我尝试获取自定义产品属性以传递给在幕后使用的订单项。我已在qb_product_id
catalog > attributes > manage attributes
然后我创建了以下模块:
config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Nellys_QBProductID>
<version>0.1.0</version>
</Nellys_QBProductID>
</modules>
<global>
<fieldsets>
<sales_convert_quote_item>
<qb_product_id>
<to_order_item>*</to_order_item>
</qb_product_id>
</sales_convert_quote_item>
<sales_convert_order_item>
<qb_product_id>
<to_quote_item>*</to_quote_item>
</qb_product_id>
</sales_convert_order_item>
</fieldsets>
<sales>
<quote>
<item>
<product_attributes>
<qb_product_id />
</product_attributes>
</item>
</quote>
</sales>
<events>
<sales_quote_item_set_product>
<observers>
<Nellys_QBProductID>
<class>Nellys_QBProductID_Model_Observer</class>
<method>setQbProductId</method>
</Nellys_QBProductID>
</observers>
</sales_quote_item_set_product>
</events>
</global>
</config>
Observer.php
<?php
class Nellys_QBProductID_Model_Observer extends Varien_Event_Observer
{
public function setQbProductId(Varien_Event_Observer $observer) {
$item = $observer->getQuoteItem();
$product = $observer->getProduct();
$item->setQbProductId($product->getQbProductId());
return $this;
}
}
?>
当我转储订单商品信息时,它似乎没有输出qb_invoice_id
。知道我哪里错了吗?我已经清除了我的var / cache文件夹并重新编制了所有索引,但仍未显示订单商品。
可能需要在sales_order_table上安装属性吗?
答案 0 :(得分:0)
在Magento中为订单添加自定义属性与我们对客户和类别的相同。不同的是我们将使用不同的安装类,现在我们不需要属性集,组和属性输入类型。我们将创建一个快速模块,它将完全符合我们的要求,仅此而已。所以你需要为此创建模块。请访问以下网址。
http://ka.lpe.sh/2013/05/10/magento-add-attribute-to-order/
https://www.atwix.com/magento/custom-product-attribute-quote-order-item/