Format d’adresse dans Magento

Bonjour à tous,

Aujourd’hui nous allons discuter des formats d’adresses dans le moteur E-commerce Magento.

Magento étant un produit américain, les informations clients et plus précisément l’adresse sont formatées au format postal américain. Ainsi on retrouve l’état, le code postal et la ville mais cela ne correspond pas au format Français.

Une de mes clientes m’a, à juste titre, fait remarquer que les adresses postales française sont normées et que si l’on veut éviter au maximum les NPAI (n’habite pas a l’adresse indiquée), il vaut mieux formater les adresses de livraisons correctement.

Magento depuis la version 1.5, permet de formater les adresses directement dans le back office.

Cela se passe dans le menu : SYSTEME -> CONFIGURATION -> Configuration Clients -> Gabarit d’adresse.

Sur cette page d’administration :

 

 

 

On remarque 5 champs de saisie avec du code un peu barbare à l’intérieur.

Les  champs représentent les 5 rendus qui sont utilisé sur le site :  Texte, Texte sur 1 seule ligne, HTML, PDF et javascript

Chaque champs de saisie permet donc de customiser le rendu de l’adresse par rapport à un format donné.

Si l’on modifie la partie HTML par exemple, le rendu de l’adresse dans l’affichage en back office sera modifié sur l’ensemble des écrans (Commande, Factures…) mais uniquement à l’affichage sur le navigateur. Les factures PDF sont impactées par le rendu PDF.

Le code utilisé est un code de description qui fonctionne avec des balises entourées de double accolades.

{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}, {{var street}}, {{var postcode}} {{var city}}, {{var country}}

Des mots clés permettent de repérer les éléments de la base de donnée stockés dans Magento. Ainsi “postcode” correspond au code postal, “city” correspond à la ville…

Ce qui va nous intéresser ici c’est de changer l’ordre des champs

Par défaut le format d’adresse s’affiche ainsi :

INFINITIC, 4 chemin de Ponterle, CRAPONNE, Rhone Alpes, 69290, FRANCE

Cette adresse ne correspond pas aux normes postales. On veut obtenir :

INFINITIC, 4 chemin de Ponterle, 69290 CRAPONNE, FRANCE

Voyons comment cela se passe au niveau du code dans Magento, le rendu HTML par défaut est le suivant :

 

{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}<br/>
{{depend company}}{{var company}}<br />{{/depend}}
{{if street1}}{{var street1}}<br />{{/if}}
{{depend street2}}{{var street2}}<br />{{/depend}}
{{depend street3}}{{var street3}}<br />{{/depend}}
{{depend street4}}{{var street4}}<br />{{/depend}}
{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}<br/>
{{var country}}<br/>
{{depend telephone}}T: {{var telephone}}{{/depend}}
{{depend fax}}<br/>F: {{var fax}}{{/depend}}

Pour le début du code, nous ne modifierons rien, les informations NOM, PRENOM et adresse étant déjà au bon format.

Nous allons nous intéresser à la ligne suivante :

{{if city}}{{var city}}, {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}<br/>
{{var country}}<br/>

Sur cette ligne on voit que les éléments ne sont pas dans le bon ordre, il va falloir modifier la ligne pour faire passer le “postcode” avant la “city” et supprimer la “region” qui correspond à l’état.

Les informations sont conditionnées par des balises IF qui permettent de ne pas les afficher si elles sont vides. Nous n’avons pas modifié ce conditionnement même si il n’y a aucune chance par exemple que la ville soit vide car elle est obligatoire.

La nouvelle ligne devient donc :

{{if postcode}}{{var postcode}}{{/if}} {{if city}}{{var city}} {{/if}}<br/>
{{var country}}<br/>

Nous avons délibérément supprimé l’état (département) qui n’a aucune utilité en France.

Maintenant vous pouvez faire la même manipulation pour l’ensemble des rendus. Le plus important étant le rendu PDF qui sert pour toutes les sorties PDF de l’application.

N’hésitez pas a poser des questions si vous avez des problèmes de configuration.

 

Nouvelle version de Magento CE : 1.5.1.0 pour Dinovia.fr

Il y a maintenant quelques jours, nous effectuions pour un de nos plus gros client, une upgrade de la solution de Ecommerce MAGENTO. Le passage était délicat car il fallait passer directement d’une 1.3.2.3 à une 1.5.1.0…

L’upgrade automatique ayant été rendue impossible du fait de la sortie de la 1.6.0.0 après la fin de notre recette utilisateur sur notre environnement de PREPRODUCTION…

Nous avons donc décidé de tout upgrader à la main (ou presque…). En effet une version propre de la 1.5.1.0 ayant été conservé sur notre serveur de PREPRODUCTION, nous sommes passé par la procedure d’upgrade directe des differents modules (Core, Design…)

Après pas mal de travail, le site est opérationnel est très optimisé surtout au niveau de la gestion du cache. En effet les nouvelles version de MAGENTO permette une gestion du cache très poussée. Il est par exemple possible de mettre en cache les traductions, les fichiers de configurations…Ce qui a pour effet de diviser les temps de chargement pratiquement par 2 !!! L’outil pour les Webmasters de Google nous donne en effet des temps de téléchargement d’une page d’environ 780 ms pour la 1.5.1.0 contre 1550 ms pour la 1.3.2.3…

Les outils de saisie des articles et des catégories permettent maintenant de saisir en mode WYSIWYG avec un éditeur bien plus convivial. Quelques bugs persistent et je suppose que c’est ce qui a un peu précipité la sortie de la 1.6.0.0