我試圖從觀察者的產品中獲取自定義屬性。 我有以下幾點:從觀察者訂單對象獲取產品的自定義屬性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()或類似的東西。 –