Attendre que les champs de formulaires soient configurés comme des types de contenu est une généralisation excessive. Les types de contenu sont pour le contenu (texte, image, etc.) du site Web, et plus spécifiquement, dans Drupal, pour les nœuds (le principal élément de contenu dans Drupal). En utilisant le module Field et Field UI, on peut facilement ajouter des champs au type de contenu en utilisant une interface Web. À l'exception de certains cas spécifiques, un formulaire ne fait pas partie du contenu d'un site Web, mais plutôt un moyen pour les utilisateurs d'ajouter et de modifier des informations, parfois du contenu et parfois non.
Pour personnaliser (c'est-à-dire modifier) un formulaire dans Drupal, la manière habituelle est de créer un module personnalisé qui implémente le hook . De cette façon, vous pouvez ajouter des éléments de formulaire à des formulaires existants fournis par d'autres modules. Pour utiliser les informations des champs ajoutés au formulaire de contact de cette manière, vous devrez également modifier le courrier envoyé en utilisant une implémentation de hook_mail_alter () . Le guide suivant vous guide à travers les deux étapes de Drupal 7. (Notez également ce commentaire )hook_form_FORM_ID_alter
Une solution non codée consiste à utiliser le module Webform qui fournit un type de contenu de formulaire et vous permet d'ajouter des formulaires en tant que contenu à votre site Web. Ces formulaires sont configurables via une interface utilisateur Web. Différentes étapes de traitement peuvent être configurées pour les informations soumises via ces formulaires. L'un d'eux est l'envoi d'e-mails. L'utiliser pour un formulaire de contact personnalisé est un cas d'utilisation courant. Webform est livré avec ses propres concepts et points d'extension. Bien qu'il puisse s'avérer être une solution plus facile et plus rapide pour des formulaires simples à usage unique, il peut également s'avérer être surdimensionné et complexe à personnaliser une fois qu'un certain seuil de fonctionnalités a été atteint. Le coût pour ajouter des fonctionnalités supplémentaires à un formulaire Web peut alors surpasser le gain d'éviter d'écrire un module personnalisé en premier lieu.