J'essaie de vérifier si l'adresse de facturation et de livraison sont égales lors de la création de PDF de facture.
Jusqu'à présent, j'ai essayé:
$order = $invoice->getOrder();
if( $order->getBillingAddress()->getData() != $order->getShippingAddress()->getData() )
ou
$order = $invoice->getOrder();
if( $order->getShippingAddress()->getData('same_as_billing')!='1' )
mais ni ne fonctionne. J'essayais également d'obtenir le devis en utilisant $order->getQuote()
mais cela n'a pas fonctionné non plus.
Existe-t-il un moyen de vérifier si les adresses de facturation et de livraison sont égales?
array_diff_assoc
dû au fait que array_diff ne compare que les valeurs, donc si vous changez par exemple le prénom et le nom, les adresses seront toujours traitées comme égalesMême s'il existe déjà une réponse acceptée, je voudrais partager cette solution que j'ai vue (similaire) une fois dans un module tiers:
Qui s'appelait alors:
la source
D'accord, voici donc ma tentative suivant la suggestion de ProxiBlue:
Fondamentalement, je supprime certaines clés en utilisant un
$excludeKeys
tableau, doncarray_diff
je ne comparerai que les données pertinentes. Pour supprimer plusieurs clés sans avoir à créer une boucle, j'utilisearray_diff_key
en combinaison avecarray_flip
pour supprimer les clés de tableau inutiles.Améliorations et commentaires bienvenus. :)
la source
array_diff_assoc
dû au fait que array_diff ne compare que les valeurs, donc si vous changez par exemple le prénom et le nom, les adresses seront toujours traitées comme égales.Vous devez obtenir le devis en utilisant
Ensuite, vous pouvez obtenir l'adresse de livraison du devis et vérifier si elle est marquée comme étant la même que l'adresse de facturation:
la source
a dû comparer des adresses - l'une d'elles vient d'être créée (non enregistrée). Peut-être que cela aide quelqu'un:
basé sur la réponse @Alphawolf:
EDIT 20 01 2016
im en utilisant la méthode suivante depuis que j'ai posté la version ci-dessus et cela fonctionne pour moi - pensé que cela peut aider quelqu'un:
la source