Este tutorial explica como adicionar campos extra 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 por criar um Campo de Lista Personalizado que permita ao visitante do site selecionar o tipo de pedido que está a fazer.

  1. Vai a Componentes → Contatos → Campos (Fields).
  2. No menu suspenso de contexto (filtro lateral ou superior), seleciona Mail.
  3. Clica em Novo.
  4. No separador Geral, configura 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 tua preferência.
    • Valores da Lista: Adiciona pares de Texto e Valor (ex.: Suporte Técnico, Comercial, Outros).

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

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

  1. Edita o campo que acabaste de criar.
  2. Abre o separador Permissões.
  3. Localiza a linha Editar Valor do Campo Personalizado (Edit Custom Field Value).
  4. Para o grupo Public, altera para Permitido (Allowed).
  5. Guarda as alterações.
Se ignorares este passo, o campo poderá ser visível, mas os visitantes não conseguirão submeter a informação.

Passo 3: Posicionamento no Formulário

No separador Opções do campo personalizado, podes 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 ontato.

Passo 4: Integração no E-mail

Para garantir que recebes estes dados no teu e-mail, o Joomla utiliza o sistema de Modelos de E-mail (Mail Templates).

  • Vai a Sistema → Modelos de E-mail.
  • Procura por ontatos: E-mail do Formulário de contato.
  • Verifica se o corpo da mensagem contém o marcador {CUSTOMFIELDS}. Este marcador é responsável por listar todos os teus campos extra no e-mail recebido.

Problemas Comuns & Soluções

  • O campo não aparece: Verifica se o contexto selecionado no Passo 1 foi "Mail" e não "ontato".
  • Dados vazios no e-mail: Revisa as permissões do grupo "Public" (Passo 2).
  • Posicionamento errado: Para controlo total, terás de criar um Template Override do componente de ontatos.

Resumo Rápido

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

Compartilhe este conhecimento: