Comment obtenir l'adresse de livraison à partir de la page Créer une commande ?
-
13-12-2019 - |
Question
Je sais comment obtenir les informations d'adresse de livraison par défaut du client, mais comment puis-je obtenir une adresse de livraison « unique » avant de soumettre la commande ?
Exemple
Le client de Géorgie a des adresses par défaut en Géorgie, mais expédie en Floride pour cette nouvelle commande.Si je souhaite connaître leur adresse de livraison pour ce cas, comment puis-je la savoir ?
J'ai besoin de ces informations à des fins de calcul des taxes, afin de pouvoir facturer des taxes si l'envoi est destiné à la Floride.Est-ce seulement possible?
modifier
Sur la base de la suggestion de R.S., j'essaie de mettre en place un observateur mais ça ne fonctionne pas comme je l'espérais.Voici ce que j'ai actuellement :
Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Mbs_Tax>
<version>0.1</version>
</Mbs_Tax>
</modules>
<global>
<events>
<sales_quote_collect_totals_before>
<observers>
<tax>
<type>singleton</type>
<class>Mbs_Tax_Model_Observer</class>
<method>salesQuoteCollectTotalsBefore</method>
</tax>
</observers>
</sales_quote_collect_totals_before>
</events>
</global>
</config>
Observateur.php
class Mbs_Tax_Model_Observer {
public function salesQuoteCollectTotalsBefore($observer) {
$quote = $observer->getQuote();
$address = $quote->getShippingAddress();
$region = $address->getData('region');
Mage::log("Address from salesQuoteCollectTotalsBefore: region ".$region,null,"tax.log");
if(strtoupper($region)==="FLORIDA") {
Mage::log("Shipping to Florida: ".print_r($quote->getShippingAddress()->getData('tax_amount'), true),null,"tax.log");
}
}
}
La solution
Essayez de créer un observateur pour <sales_quote_collect_totals_before>
Puis dans votre observateur
$quote = $observer->getQuote();
$address = $quote->getShippingAddress()