Adicionar campo personalizado ao formulário de contato Magento 2?

13

Estou usando o magento 2 e gostaria de adicionar um campo personalizado ao formulário de contato. Como eu poderia fazer isso?

alexcr
fonte

Respostas:

36

Primeiro, abra o form.phtmlarquivo localizado no seu tema.

/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/templates/form.phtml e adicione campo de assunto a este formulário de contato:

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

Adicione o campo acima no formulário.

No que diz respeito ao Magento, ele não se importa com os campos que adicionamos a este formulário. Ele é gravado de forma a aceitar todos os campos lançados para processamento e enviá-los para o formulário de email transacional que você criar. Agora, vá para MARKETING> Communication> Email Templates na seção Magento Admin. Clique em " Adicionar novo modelo " e, na caixa suspensa " Modelo ", selecione " Formulário de contato " e " Carregar modelo ". No conteúdo do modelo, você verá:

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

Adicione seu novo campo antes de Nome: {{trans "Nome:% name" nome = $ data.name}} para que agora fique assim:

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

Digite um novo nome em " Nome do modelo " para salvar seu novo modelo e clique em " Salvar modelo ". Agora precisamos dizer ao Magento para usar este novo modelo no formulário de contato. Vá para LOJAS -> Configurações -> Configuração -> Geral -> Contatos e selecione " Contatos ". Em " Opções de email ", selecione seu novo modelo na caixa suspensa "Opções de email" -> "Modelo de email". Clique em " Salvar configuração ".

Jignesh Khunt
fonte
1
Isso está correto, em vez de criar o modelo para o email no banco de dados te, eu substituiria o modelo no meu tema (/magento_root/app/design/frontend/VENDER_NAME/YOUR_THEME/Magento_Contact/email/submittted_form.html). É apenas gosto pessoal;)
Stijn Duynslaeger - Echron