Ajouter un champ personnalisé au formulaire de contact Magento 2?


13

J'utilise magento 2 et je voudrais ajouter un champ personnalisé au formulaire de contact, comment pourrais-je le faire?

Réponses:


36

Tout d'abord, ouvrez le form.phtmlfichier situé dans votre thème.

/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/templates/form.phtml , puis ajoutez un champ d'objet à ce formulaire de contact:

<div class="field subject required">
    <label class="label" for="subject"><span><?php /* @escapeNotVerified */ echo __('Subject') ?></span></label>
    <div class="control">
        <input name="subject" id="subject" title="<?php /* @escapeNotVerified */ echo __('Subject') ?>" value="" class="input-text" type="text" data-validate="{required:true}"/>
    </div>
</div>

Ajoutez le champ ci-dessus dans le formulaire.

En ce qui concerne Magento, peu importe les champs que nous ajoutons à ce formulaire. Il est rédigé de telle manière qu'il accepte tous les champs publiés pour traitement et les envoie au formulaire de courrier électronique transactionnel que vous créez. Maintenant, allez dans MARKETING> Communication> Modèles d'e-mails dans la section Admin Magento. Cliquez sur " Ajouter un nouveau modèle " et dans la liste déroulante " Modèle ", sélectionnez " Formulaire de contact " puis " Charger le modèle ". Sous le contenu du modèle, vous verrez:

{{trans "Name: %name" name=$data.name}}
{{trans "Email: %email" email=$data.email}}
{{trans "Phone Number: %telephone" telephone=$data.telephone}}
{{trans "Comment: %comment" comment=$data.comment}}

Ajoutez votre nouveau champ avant Nom: {{trans "Nom:% nom" nom = $ data.name}} pour qu'il ressemble maintenant à ceci:

{{trans "Subject: %subject" subject=$data.subject}}
{{trans "Name: %name" name=$data.name}}
{{trans "Email: %email" email=$data.email}}
{{trans "Phone Number: %telephone" telephone=$data.telephone}}
{{trans "Comment: %comment" comment=$data.comment}}

Entrez un nouveau nom sous " Nom du modèle " pour enregistrer votre nouveau modèle et cliquez sur " Enregistrer le modèle ". Nous devons maintenant dire à Magento d'utiliser ce nouveau modèle pour le formulaire de contact. Allez dans MAGASINS -> Paramètres -> Configuration -> Général -> Contacts et sélectionnez " Contacts ". Sous " Options de messagerie ", sélectionnez votre nouveau modèle dans la liste déroulante "Options de messagerie" -> "Modèle de messagerie". Cliquez sur " Save Config ".


1
C'est correct, au lieu de créer le modèle pour l'e-mail dans la base de données, je remplacerais le modèle dans mon thème (/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/email/submittted_form.html). C'est juste un goût personnel;)
Stijn Duynslaeger - Echron
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.