我想在订单中获得所有产品。我有观察员的订单详情,但我不知道如何从中获取产品详细信息。我的观察员有以下编码
public function getProducts($observer){
$order = $observer->getEvent()->getOrder();
$data = $order->getData();
$dumpFile = fopen('observer_working.txt', 'w+'); // file is creating
fwrite($dumpFile, 'Sample text');
return $this;
}
正如您所看到的,我在下订单时创建了一个txt文件。它正在发挥作用。我也有订单详情。但是我无法从中获得产品ID。
我需要从订单详情中获取以下数据
1)订单ID。
2)订单中可用的产品ID数组。 (只有产品ID就足够了)
请帮助我获取这些数据。
答案 0 :(得分:2)
要从订单中获取产品ID,您必须先获取商品。每个订单商品都包含产品ID以及Name或Sku等其他数据。
$productIds = array();
$items = $order->getAllVisibleItems();
foreach($items as $item) {
$productIds[] = $item->getProductId();
}