Nous contacter 01 46 94 69 32

VOUS ÊTES SUR LE SITE D'UNE SOCIÉTÉ DE SERVICES SPÉCIALISÉE EN DRUPAL - POUR ACCÉDER AU SITE OFFICIEL DE LA COMMUNAUTÉ, CLIQUEZ ICI

Associer un template à un formulaire

Bien souvent on souhaite pouvoir mettre en forme un formulaire dont on n'est pas l'auteur. C'est par exemple le cas d'un formulaire de contact. Drupal est capable d'associer un fichier de template à n'importe quel formulaire. Voyons donc les différentes étapes à mettre en oeuvre.

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

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. 

 

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.