Formulário de Contato Personalizado

Você está lendo:

Formulário de Contato Personalizado

Todo site Magento possui uma página de contato padrão, onde o cliente preenche um formulário, e ao enviar, o lojista recebe um email com as informações contidas neste form.

Vamos ver neste post como remover e inserir novos campos no formulário, de maneira que estes valores cheguem corretamente por email.

Então temos basicamente 3 (três) etapas a serem executadas, que são:

1. Preparar a página de contato

Acredito que esta seja a tarefa mais fácil para a maioria dos leitores, pois é simplesmente uma alteração de html no formulário. Então vamos editar o arquivo:

app -> design -> frontend -> default -> default -> template -> contacts -> form.phtml

Você pode encontrar qualquer arquivo phtml usando a dica do Debug.

Caso não encontre este arquivo em default/default, faça uma cópia do arquivo que está em base/default.

Para remover algum campo é muito simples. Você pode comentar o código, excluir o código, ou ocultar o código. (a decisão é sua!)

Para incluir um campo também é bem fácil, puro html. Apenas duas coisas devem ser observadas. O nome do campo que você informa em “name“, pois usaremos mais tarde. E os textos que você inserir no código devem estar dentro dos padrões Magento como mostrado no post Tradução Estendida.

Pra exemplificar, vou inserir o campo “Informe seu site:” (na versão 1.7.x).

 PHP |  copy code |? 
1
<li>
2
<label for="site"><?php echo $this->__('Your website:'); ?></label>
3
<div class="input-box">
4
    <input name="websiteCliente" id="websiteCliente" title="<?php echo $this->__('Your website'); ?>" value="" class="input-text" type="text" />
5
</div>
6
</li>

Se você quiser que este campo seja obrigatório, pode incluir a class required-entry no campo input, exemplo:

 PHP |  copy code |? 
1
<input name="websiteCliente" id="websiteCliente" title="<?php echo $this->__("Your website:"); ?>" value="" type="text" class="required-entry input-text" />

Outras validações client-side ainda podem ser feitas usando o class. E neste exemplo não irei mostrar como validar em server-side.

2. Preparar o email de contato

O Magento possui um conjunto de templates para emails de transação, entre eles o email de contato por formulário. Como alteramos o formulário, precisamos agora alterar este template de email. Então no seu backend vá em:

 Text |  copy code |? 
1
Sistema -> Emails de Transação -> Criar Template

Você não precisa criar o modelo do “zero”. Existe a opção de “Carregar Template de Email“, ou seja, carregar o modelo padrão do Magento, e fazer suas alterações em cima de um modelo pré-existente. Para isso selecione o objetivo “Formulário de Contato” na lista.

As alterações aqui são bem simples. Basta remover os campos que não estão mais no formulário, e inserir os novos campos. Neste exemplo:

 Text |  copy code |? 
1
Site do Cliente: {{var data.websiteCliente}}

E é neste momento que usamos o nome que foi dado ao novo campo do formulário, em input name.

3. Enviando o email de contato

Ok. Você acabou de criar um novo modelo de email para o formulário de contato da sua página. Mas como o sistema vai saber que é este novo modelo que precisa ser utilizado?

Sim, você precisa passar essa informação em algum lugar, o sistema não é mágico! Para isso vá em:

 Text |  copy code |? 
1
Sistema -> Configuração -> Contatos [ Opções de Email ]

Na lista de opções você encontra o modelo que acabou de criar. Basta selecionar e salvar.

Qualquer dúvida você pode usar o Fórum da Escola Magento.

Sucesso!

banner do forum seja certificao magento frontend