Identifier le formulaire

Il nous faut tout d'abord connaitre l'identifiant du formulaire auquel on souhaite associer un fichier de template. Pour ce faire on implémente le hook_form_alter(&$form, $form_state, $form_id) qui est appelé pour n'iporte quel formulaire. On peut alors utiliser simplement la fonction drupal_set_message($form_id) qui va afficher l'identifiant. Par exemple pour le formulaire de contact l'identifiant est contact_message_feedback_form.

Associer le formulaire et le template

L'association se fait grace au hook_theme(). Le nom du formattage doit correspondre à l'identifiant du formulaire. On définit en plus le render element comme form. Dans le cas du formulaire de contact,  le template appelé est alors /templates/contact-message-feedback-form.html.twig. Afin que Drupal reconnaisse ce nouveau formattage, il est nécessaire de vider le cache.

template_formulaire.module

Template

Uns fois le fichier créé, il est possible d'afficher certains champs indépendemment. Ne pas oublier d'afficher tous les autres champs dans le template afin de s'assurer que tout champ ajouté à posteriori sera bien rendu. On a ainsi le contrôle complet via un fichier de template sur la disposition des champs, et ce pour n'importe quel formulaire. 

contact-message-feedback-form.html

Ajouter un commentaire

*
*
*
CAPTCHA
sss
Image CAPTCHA
*

Veuillez saisir les caractères visibles sur l'image.

Les informations recueillies à partir de ce formulaire sont enregistrées dans la base de donnée de notre site, elles serviront à l'affichage de votre commentaire une fois qu'il aura été validé par nos équipes.

Vous disposez d'un droit d'accès, de rectification et d'opposition, aux données vous concernant, que vous pouvez exercer en contactant le délégué à la protection des données (DPO).

> Politique de protection des données personnelles