Benutzerdefiniertes Feld zum Kontaktformular hinzufügen Magento 2?

13

Ich verwende magento 2 und möchte dem Kontaktformular ein benutzerdefiniertes Feld hinzufügen. Wie kann ich das tun?

alexcr
quelle

Antworten:

36

Öffnen Sie zunächst die form.phtmlDatei, die sich in Ihrem Thema befindet.

/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/templates/form.phtml und fügen Sie das Betrefffeld zu diesem Kontaktformular hinzu:

<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>

Fügen Sie das obige Feld in das Formular ein.

Für Magento ist es egal, welche Felder wir diesem Formular hinzufügen. Es ist so geschrieben, dass es das gesamte zur Verarbeitung bereitgestellte Feld akzeptiert und an das von Ihnen erstellte Transaktions-E-Mail-Formular sendet. Gehen Sie nun zu MARKETING> Kommunikation> E-Mail-Vorlagen im Magento Admin-Bereich. Klicken Sie auf " Neue Vorlage hinzufügen " und wählen Sie im Dropdown-Feld " Vorlage " die Option " Kontaktformular " und dann " Vorlage laden ". Unter Vorlageninhalt sehen Sie:

{{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}}

Fügen Sie Ihr neues Feld vor Name: {{trans "Name:% name" name = $ data.name}} hinzu, damit es jetzt so aussieht:

{{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}}

Geben Sie unter " Vorlagenname " einen neuen Namen ein , um Ihre neue Vorlage zu speichern, und klicken Sie auf " Vorlage speichern ". Jetzt müssen wir Magento anweisen, diese neue Vorlage für das Kontaktformular zu verwenden. Gehen Sie zu SPEICHER -> Einstellungen -> Konfiguration -> Allgemein -> Kontakte und wählen Sie " Kontakte ". Unter „ E - Mail - Optionen “ wählen Sie Ihre neue Vorlage unter „E - Mail - Optionen“ -> Drop - Down - Box „Template - Mail“. Klicken Sie auf " Save Config ".

Jignesh Khunt
quelle
1
Dies ist richtig. Anstatt die Vorlage für die E-Mail in der Datenbank zu erstellen, würde ich die Vorlage in meinem Design überschreiben (/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/email/submittted_form.html). Es ist nur persönlicher Geschmack;)
Stijn Duynslaeger - Echron