Bonjour à tous,
Je fais un module pour que les champs du formulaire d'adresse se retrouvent dans le formulaire d'inscription :
Comme vous le voyez c'est bien parti. Mon seul problème concerne le pays. Le choix me renvoie systématiquement 'Array'. Pourtant, je récupère bien l'id_country (vu avec l'inspecteur d'éléments).
$additionalFields[] = (new FormField) ->setName('id_country') ->setType('select') ->setLabel($this->l('Pays')) ->setRequired(true) ->setAvailableValues( array_map(function($country) { return [ 'id' => $country['id_country'], // Identifiant du pays 'label' => $country['name'] // Nom du pays ]; }, Country::getCountries($this->context->language->id, true)) );
Voici ce que me renvoie le var_dump de Country::getCountries($this->context->language->id, true); :
array (size=2) 3 => array (size=15) 'id_country' => int 3 'id_lang' => int 1 'name' => string 'Belgique' (length=8) 'id_zone' => int 1 'id_currency' => int 0 'iso_code' => string 'BE' (length=2) 'call_prefix' => int 32 'active' => int 1 'contains_states' => int 0 'need_identification_number' => int 0 'need_zip_code' => int 1 'zip_code_format' => string 'NNNN' (length=4) 'display_tax_label' => int 1 'country' => string 'Belgique' (length=8) 'zone' => string 'Europe' (length=6) 8 => array (size=15) 'id_country' => int 8 'id_lang' => int 1 'name' => string 'France' (length=6) 'id_zone' => int 1 'id_currency' => int 0 'iso_code' => string 'FR' (length=2) 'call_prefix' => int 33 'active' => int 1 'contains_states' => int 0 'need_identification_number' => int 0 'need_zip_code' => int 1 'zip_code_format' => string 'NNNNN' (length=5) 'display_tax_label' => int 1 'country' => string 'France' (length=6) 'zone' => string 'Europe' (length=6)
Quelqu'un a une idée ? Je dois mal appeler la data du tableau mais je n'arrive pas à bien l'appeler .
Je vous partage aussi le module complet en zip.
Merci !