2017-10-06 22 views

答えて

1

まず、注文から製品IDを取得し、その製品のスーパー属性を取得する必要があります。

$order_id = 10002; // Your order ID; 
$order = Mage::getModel('sales/order')->load($order_id); 
$items = $order->getAllVisibleItems(); 
foreach($items as $item) { 
$connection = Mage::getSingleton('core/resource')->getConnection('core_read'); 
$sql  = ("SELECT * FROM (
    SELECT 
     ce.sku, 
     ea.attribute_id, 
     ea.attribute_code, 
     CASE ea.backend_type 
      WHEN 'varchar' THEN ce_varchar.value 
      WHEN 'int' THEN ce_int.value 
      WHEN 'text' THEN ce_text.value 
      WHEN 'decimal' THEN ce_decimal.value 
      WHEN 'datetime' THEN ce_datetime.value 
      ELSE ea.backend_type 
     END AS value, 
     ea.is_required AS required 
    FROM catalog_product_entity AS ce 
    LEFT JOIN eav_attribute AS ea 
     ON ce.entity_type_id = ea.entity_type_id 
    LEFT JOIN catalog_product_entity_varchar AS ce_varchar 
     ON ce.entity_id = ce_varchar.entity_id 
     AND ea.attribute_id = ce_varchar.attribute_id 
     AND ea.backend_type = 'varchar' 
    LEFT JOIN catalog_product_entity_int AS ce_int 
     ON ce.entity_id = ce_int.entity_id 
     AND ea.attribute_id = ce_int.attribute_id 
     AND ea.backend_type = 'int' 
    LEFT JOIN catalog_product_entity_text AS ce_text 
     ON ce.entity_id = ce_text.entity_id 
     AND ea.attribute_id = ce_text.attribute_id 
     AND ea.backend_type = 'text' 
    LEFT JOIN catalog_product_entity_decimal AS ce_decimal 
     ON ce.entity_id = ce_decimal.entity_id 
     AND ea.attribute_id = ce_decimal.attribute_id 
     AND ea.backend_type = 'decimal' 
    LEFT JOIN catalog_product_entity_datetime AS ce_datetime 
     ON ce.entity_id = ce_datetime.entity_id 
     AND ea.attribute_id = ce_datetime.attribute_id 
     AND ea.backend_type = 'datetime' 
    WHERE ce.entity_id = ".$item->getProductId()." 
) AS tab 
    WHERE tab.value != ''") 
$rows  = $connection->fetchAll($sql); 
print_r($rows); 
} 

Reference link

+0

おかげで、このSQLは、所定の製品のすべての属性オプションを提供します。注文固有の属性オプションのみを取得したい。例:Tシャツを注文した場合、注文した注文のために – Dilani

+0

注文したTシャツのサイズと色を取得します。select product_options FROM sales_flat_order_itemとmagentoで取得しますこのような注文アイテムから。 $ orderItem-> getProductOptions()。この詳細をシリアライズされた形式で保存しました。 –

関連する問題