un problème, que nous avons encore et encore avec les boutiques en ligne allemandes, quand nous avons mis en place Magento, est, entre autres, le mauvais ordre des champs d'adresse dans la zone de paiement.
Bien sûr, vous pouvez également modifier les champs dans le même ordre ville – Code postal laisser, cependant, cela y conduit toujours, que les clients remplissent les champs dans l'ordre qu'ils connaissent puis lors de la création (automatique) problèmes d'étiquette d'expédition.
Donc, comme toujours, échangeons les champs dans l'ordre souhaité. En Magento 1 était-ce très facile à faire, car il suffisait de trouver le bon PHTML et de mettre les champs dans le bon ordre. dans Magento 2 nous pouvons le faire un peu différemment, en créant le fichier checkout_index_index.xml et en le plaçant dans le dossier app/design/frontend/[Thème]/[désignation]/Magento_Checkout/layout/ablegen.
Ce fichier contient alors le contenu suivant:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="checkout.root">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="components" xsi:type="array">
<item name="checkout" xsi:type="array">
<item name="children" xsi:type="array">
<item name="steps" xsi:type="array">
<item name="children" xsi:type="array">
<item name="shipping-step" xsi:type="array">
<item name="children" xsi:type="array">
<item name="shippingAddress" xsi:type="array">
<item name="children" xsi:type="array">
<!-- The name of the form the field belongs to -->
<item name="shipping-address-fieldset" xsi:type="array">
<item name="children" xsi:type="array">
<item name="city" xsi:type="array">
<item name="sortOrder" xsi:type="string">600</item>
</item>
<item name="region_id" xsi:type="array">
<item name="sortOrder" xsi:type="string">800</item>
</item>
<item name="street" xsi:type="array">
<item name="sortOrder" xsi:type="string">4</item>
</item>
<item name="postcode" xsi:type="array">
<item name="sortOrder" xsi:type="string">500</item>
</item>
<item name="country_id" xsi:type="array">
<item name="sortOrder" xsi:type="string">700</item>
</item>
<item name="lastname" xsi:type="array">
<item name="sortOrder" xsi:type="string">2</item>
</item>
<item name="firstname" xsi:type="array">
<item name="sortOrder" xsi:type="string">1</item>
</item>
<item name="company" xsi:type="array">
<item name="sortOrder" xsi:type="string">3</item>
</item>
<item name="telephone" xsi:type="array">
<item name="sortOrder" xsi:type="string">900</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</argument>
</arguments>
</referenceBlock>
</body>
</page>
Une fois le fichier créé et téléchargé, il est préférable d'exécuter la commande SSH suivante:
php bin/magento cache:clean
Les champs sont alors dans le bon ordre.
Une chose est frappante: “rue” n'est pas reconnu correctement. Si vous attribuez la commande normalement à partir de 1-8 devient l'adresse- / ligne de rue(n) toujours à la fin, apparaissent après tous les autres champs d'adresse. Mais vous affectez tous les champs, qui devrait apparaître derrière la route un chiffre plus grand / même 100 et les champs, qui devrait apparaître devant la route un nombre plus petit / même 50, la commande est correcte. Vous pouvez également découper votre propre entrée pour la rue en haut du xml.
Verwendet in Magento CE 2.4.2