我试图从观察者的产品中获取自定义属性。 我有以下几点:从观察者订单对象获取产品的自定义属性Magento
public function export_new_order($observer){
$orderIds = $observer->getData('order_ids');
foreach($orderIds as $_orderId){
$order = Mage::getModel('sales/order')->load($_orderId);
Mage::log($order->debug());
}
}
的正常工作,我在日志中得到一个不错的print_r。
但是,当我尝试获取物品时,它不起作用。
我尝试这样做:
public function export_new_order($observer){
$orderIds = $observer->getData('order_ids');
foreach($orderIds as $_orderId){
$order = Mage::getModel('sales/order')->load($_orderId);
Mage::log($order->debug());
$items = $order->getAllItems();
Mage::log($items->debug());
}
}
而且这样的:
$items = $order->getAllVisibleItems();
Mage::log($items->debug());
但这些都不工作,我得到一个白色的屏幕,每当我点击 “下订单”
<?xml version="1.0"?>
<config>
<modules>
<Feed_Sales>
<version>0.0.1</version>
</Feed_Sales>
</modules>
<global>
<models>
<feedsales>
<class>Feed_Sales_Model_Order_Observer</class>
</feedsales>
</models>
<events>
<checkout_onepage_controller_success_action>
<observers>
<feed_sales_model_order_observer>
<type>singleton</type>
<class>Feed_Sales_Model_Order_Observer</class>
<method>export_new_order</method>
</feed_sales_model_order_observer>
</observers>
</checkout_onepage_controller_success_action>
</events>
</global>
这工作,谢谢。我将如何去检索这个产品的自定义属性? – Hawiak
那么,Order Item与Product不一样(它并不具备所有的数据),因此您需要使用$ item-> getProduct()获取产品,然后像使用产品一样使用它 - $ item - > getProduct() - > getMyCustomAttribute()或类似的东西。 –