shipment_type / isShipSeparately solo per i prodotti del pacco?
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?
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