Como adicionar campos personalizados ao formulário de contato do Joomla

Este tutorial explica como adicionar campos extras ao formulário de contato nativo do Joomla utilizando os Campos Personalizados (Custom Fields). Este processo utiliza funcionalidades core do Joomla, não requer extensões de terceiros e é totalmente seguro para futuras atualizações.

Passo 1: Criar um Campo Personalizado

Vamos começar criando um Campo de Lista Personalizado que permita ao visitante do site selecionar o tipo de solicitação que está fazendo.

  1. Vá em Componentes → Contatos → Campos (Fields).
  2. No menu suspenso de contexto (filtro lateral ou superior), selecione Mail.
  3. Clique em Novo.
  4. Na aba Geral, configure o campo:
    • Título: ex: Tipo de Pedido
    • Tipo: Lista (escolha este primeiro para carregar as opções certas).
    • Obrigatório: Sim/Não, conforme a sua preferência.
    • Valores da Lista: Adicione pares de Texto e Valor (ex.: Suporte Técnico, Comercial, Outros).

Passo 2: Alterar Permissões do Campo (Crítico)

Por padrão, os campos personalizados não permitem que usuários públicos enviem dados. Esta é a razão mais comum para o campo não funcionar.

  1. Edite o campo que você acabou de criar.
  2. Abra a aba Permissões.
  3. Localize a linha Editar Valor do Campo Personalizado (Edit Custom Field Value).
  4. Para o grupo Public, altere para Permitido (Allowed).
  5. Salve as alterações.

Passo 3: Posicionamento no Formulário

Na aba Opções do campo personalizado, você pode definir onde ele será renderizado:

  • Após a exibição (After Display): Geralmente aparece no final do formulário, antes do botão de envio.
  • Antes da exibição (Before Display): Aparece no topo dos campos de contato.

Passo 4: Integração no E-mail

Para garantir que você receba estes dados no seu e-mail, o Joomla utiliza o sistema de Modelos de E-mail (Mail Templates).

  • Vá em Sistema → Modelos de E-mail.
  • Procure por Contatos: E-mail do Formulário de contato.
  • Verifique se o corpo da mensagem contém a tag {CUSTOMFIELDS}. Ela é responsável por listar todos os seus campos extras no e-mail recebido.

Problemas Comuns & Soluções

  • O campo não aparece: Verifique se o contexto selecionado no Passo 1 foi "Mail" e não "Contato".
  • Dados vazios no e-mail: Revise as permissões do grupo "Public" (Passo 2).
  • Posicionamento errado: Para controle total, será necessário criar um Template Override do componente de contatos.

Resumo Rápido

  1. Contexto: Mail.
  2. Permissão Public: Permitido.
  3. Template de e-mail: deve conter {CUSTOMFIELDS}.

Compartilhe este conhecimento: