Détail du message 77271.3

Message numéro 3 dans le sujet Récupérer l'adresse de facturation d'un customer.

  • 77271.3 en réponse à 77271.2 écrit par Gaël Port

    11/04/2013 17:03


    mamous
    Rang : Expert
    Bonjour,

    Merci pour votre réponse.

    Là je suis entrain de récupérer des infos en provenance d'un ws et parfois il m'envois des adresses ligne1 à null ce qui me cause certainement des prob.
    j'ai implémenter le code suivant:
    $address = $customer->getDefaultAddress();
    if ($address != null)
    {
    	$updateDateAddress = $address->getModificationdate();
    	$updateDate = $updateDate < $updateDateAddress ?     $updateDateAddress : $updateDate;
    	$addressData = array(
    		'billingCivility' => null !== $address->getTitle() ? $address->getTitle()->getLabel() : null,
    		'billingFirstname' => $address->getFirstname(),
    		'billingLastname' => $address->getLastname(),
    		'billingEmail' => $address->getEmail(),
    		'billingCompany' => $address->getCompany(),
    		'billingAddressLine1' => null !== $address->getAddressLine1() ? $address->getAddressLine1() : "Tapez votre Adresse ici",
    		'billingAddressLine2' => $address->getAddressLine2(),
    		'billingAddressLine3' => $address->getAddressLine3(),
    		'billingZipcode' => $address->getZipCode(),
    		'billingCity' => $address->getCity(),
    		'billingCountry' => $address->getCountryCode(),
    		'billingProvince' => $address->getProvince(),
    		'billingPhone' => f_util_StringUtils::isEmpty($address->getPhone()) ? "0612345678" : $address->getPhone() ,
    		'billingFax' => $address->getFax(),
    		'billingMobilephone' => $address->getMobilephone()
    	);
    }

    Donc comme vous voyez j'ai fait de sorte à ce que, théoriquement, si j'aurais une adresse ligne1 a null elle sera remplacer par une valeur par défaut. sa fonctionnait mais du coup si j'aurais une adresse ligne 1 à null elle me causait aussi le prob, en illustrant le prob avec des logs j'ai remarqué que $adress elle même est à Null et que tout les autres champs qui seront dans $adressdata seront certainement à Null.

    Je crois donc que cette méthode getDefaultAddress() retournera un null dans le cas ou l'adresse ligne 1 est null.

    De plus, j'ai essayé de suivre l'appel de cette méthode en ajoutant des commentaires de partout des les classes (customer.class.php , adress.class.php et adresseService.class.php) mais le truc bizarre c'est que aucun de ces logs n'est apparue comme si l'appel de cette méthode se fait dans une autre classe.
    J'ai étendu ces classes et injecté le service mais sachant bien que j'ai pas touché a ces méthodes là..

    Could someone help me please.

    Cordialement,

    Édité par mamous 11/04/2013 17:05


    Développeur & Intégrateur Web

    RBS Change
    V 3.5.2
    Ecommerce Core
 
1359 membres
Aucun membre connecté