Necesito comprobar si un pedido ya tiene algún envío configurado. La única información que puedo usar es el ID de incremento de la orden. Recibo una instancia de un pedido modelo, pero no veo la forma de obtener una instancia de envío.¿Cómo comprobar si una orden tiene un envío en Magento?
Estoy usando este código:
$order = Mage::getModel('sales/order')
->loadByIncrementId($order_increment_id);
Pero, ¿cómo puedo obtener una instancia de envío? Sé que puedo llamar al Mage::getModel('sales/order_shipment')->loadByIncrementId($shipment_increment_id)
, pero ¿cómo obtengo el ID de incremento de envío?
¡Muchas gracias, Alan! Después de echar un vistazo a getShipmentsCollection() y Magento Collections, descubrí que usar getShipmentsCollection() -> count() es justo lo que necesito. –
Su explicación es muy clara como siempre (me pregunto por qué no trabaja en Core Team :) ... Sin embargo ... no sería más fácil verificar el estado de la orden = 'completar'? ... Entonces: $ collection = Mage :: getResourceModel ('sales/order_collection') -> addAttributeToFilter ('increment_id', $ id) -> addAttributeToFilter ('estado', 'completo') – WonderLand