Esperar que os campos de formulários sejam configurados como tipos de conteúdo é uma generalização excessiva. Os tipos de conteúdo são para conteúdo (texto, imagem etc.) do site e, mais especificamente, no Drupal, para nós (a principal parte do conteúdo no Drupal). Usando o módulo Field and Field UI, é possível adicionar facilmente campos ao tipo de conteúdo usando uma UI da Web. Exceto em alguns casos específicos, um formulário não faz parte do conteúdo de um site, mas uma maneira de os usuários adicionarem e editarem informações, às vezes conteúdo e às vezes não.
Para personalizar (ou seja, alterar) um formulário no Drupal, a maneira usual é criar um módulo personalizado que implemente o gancho . Dessa forma, você pode adicionar elementos de formulário a formulários existentes fornecidos por outros módulos. Para usar as informações dos campos adicionados ao formulário de contato dessa maneira, você também precisará alterar o email enviado usando uma implementação de hook_mail_alter () . O guia a seguir mostra as duas etapas do Drupal 7. (Observe também este comentário )hook_form_FORM_ID_alter
Uma solução sem código é usar o módulo Webform que fornece um tipo de conteúdo de formulário e permite adicionar formulários como conteúdo ao seu site. Esses formulários são configuráveis por meio de uma interface da Web. Várias etapas de processamento podem ser configuradas para as informações enviadas por meio desses formulários. Um deles é o envio de email. Usá-lo para um formulário de contato personalizado é um caso de uso comum. O Webform vem com seus próprios conceitos e pontos de extensão. Embora possa revelar-se uma solução mais fácil e rápida para formulários simples únicos, também pode revelar-se um tamanho excessivo e complexo para personalizar quando um determinado limite de recursos for atingido. O custo para adicionar recursos extras a um formulário da Web pode superar o ganho de evitar a gravação de um módulo personalizado.