Domanda

Sto avendo il seguente codice:

/** @var $item Mage_Sales_Model_Quote_Item */
if($item->isShipSeparately())) ...

Questo è il controllo del campo shipment_type dell'elemento preventivo.

Può questo shipment_type mai diventare SHIPMENT_SEPARATELY se non prodotti del bundle sono coinvolti?

È stato utile?

Soluzione

Quando si utilizza di default di Magento attributi e prodotti: NO

mysql>  SELECT `attribute_code`,`apply_to` FROM `catalog_eav_attribute` JOIN `eav_attribute` ON `eav_attribute`.`attribute_id` = `catalog_eav_attribute`.`attribute_id` WHERE `attribute_code` = 'shipment_type';
+----------------+----------+
| attribute_code | apply_to |
+----------------+----------+
| shipment_type  | bundle   |
+----------------+----------+
1 row in set (0.00 sec)

Si potrebbe naturalmente armeggiare con il valore apply_to e / o creare il proprio tipo di prodotto che permette di impostare il valore del tipo di spedizione per SHIPMENT_SEPARATELY.

In alternativa si potrebbe osservare l'evento sales_convert_quote_item_to_order_item e poi

    $orderItem->setProductOptions(
        array_merge(
            $orderItem->getProductOptions(),
            array(
                'shipment_type' => Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
            )
        )
    );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top