Мне нужно получить список заказанных физических предметов для отправки из базы данных.Список должен состоять из имени, артикула, количества, цены, веса и размеров.
Как мы можем это сделать, не используя собственные компоненты инфраструктуры Magento.
Проблема в том, что если продуктсодержит параметры, которые появляются в таблице несколько раз для различных типов продуктов (простой, пакетный, настраиваемый и т. д.) и различных идентификаторов продуктов.
$items = array();
$sql = (
"SELECT oi.name, oi.sku, oi.qty_ordered, oi.price, oi.weight
FROM {$db->prefix}sales_flat_order_item oi
WHERE oi.order_id = ". (int)$order_entity_id .";"
);
if ($result = $mysqli->query($sql)) {
while ($row = $result->fetch_assoc()) {
$items[] = [
'name' => $row['name'],
'sku' => $row['sku'],
'quantity' => (float)$row['qty_ordered'],
'unit_price' => (float)$row['price'],
'unit_weight' => (float)$row['weight'],
//'unit_length' => (float)$row['length'], // Not present?
//'unit_width' => (float)$row['width'], // Not present?
//'unit_height' => (float)$row['height'], // Not present?
];
}
$result->close();
}
Если я пропущу фильтр AND product_type = 'simple'
, чтобы получить только простыепродукты, они не содержат цены.