Come faccio ad avere la nave per città da una spedizione?
Domanda
Sono stato la navigazione http://docs.magentocommerce.com/Mage_Customer/Mage_Customer_Model_Address_Abstract.html per un po ', e io non sto vedendo nulla sul recupero della città dal Indirizzo ...
Come faccio a recuperare la nave alla città dalla classe di spedizione?
Grazie!
Soluzione
Mage_Customer_Model_Address_Abstract
è una classe astratta e non è possibile ottenere valori di indirizzo da questa classe. A seguito di classi di indirizzi estende dalla classe Mage_Customer_Model_Address_Abstract
:
1. Mage_Customer_Model_Address
2. Mage_Sales_Model_Quote_Address
3. Mage_Sales_Model_Order_Address
E si può recuperare l'indirizzo di trasporto dalla spedizione via in questo modo:
/**
* @var $shipment Mage_Sales_Model_Order_Shipment
* @var $order Mage_Sales_Model_Order
*/
$shipmentId = 1;
$incrementId = 100000001;
$shipment = Mage::getModel('sales/order_shipment')->load($shipmentId);
$city = $shipment->getShippingAddress()->getCity();
//or you can load shipment address via order
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$shipment = $order->getShipmentsCollection()->getFirstItem();
$anotherCity = $shipment->getShippingAddress()->getCity();
print_r($anotherCity->getData());
Tra l'altro metodo $shipment->getShippingAddress()
restituisce noi ordine di spedizione indirizzo, vedi /app/code/core/Mage/Sales/Model/Order/Shipment.php
:
/**
* Retrieve shipping address
*
* @return Mage_Sales_Model_Order_Address
*/
public function getShippingAddress()
{
return $this->getOrder()->getShippingAddress();
}
Se si capisce esempi precedenti, l'ordine e indirizzo di spedizione è stesso oggetto. Questa classe è Mage_Sales_Model_Order_Address
ed è possibile recuperare i suoi valori (via, città, regione, nazione, codice postale, ...) attraverso la magia di Magento getSomeValue metodi.