05 juin 2024
Modules indispensables pour travailler avec Twig dans Drupal Il existe deux modules contribué de Drupal qui accélèrent
Il existe deux modules contribué de Drupal qui accélèrent le développement de sites web lorsque nous travaillons sur les modèles Twig. De plus, avec un module personnalisé, nous pouvons également étendre les possibilités de ce moteur de modèles.
Modules indispensables pour travailler avec Twig dans Drupal
Les deux modules contribuant suivants étendent le vocabulaire des fonctions et filtres Twig disponibles dans le noyau de Drupal pour augmenter la productivité des développeurs :
- Twig tweak : Ajoute des fonctions pour imprimer des blocs, des vues, des entités, des champs, des images, des tokens, etc. dans les templates Twig de notre projet. Sur la page officielle du module sur drupal.org, un manuel de référence (Cheat sheet) est lié. Dans ce manuel, nous pouvons trouver la documentation de toutes les fonctions définies par ce module accompagnée d'un exemple pratique pour chacune d'elles.
- Twig Field Value : Ajoute des filtres pour, au moment d'imprimer un champ en particulier, pouvoir accéder à son étiquette, sa valeur, ses propriétés (text_format, alt, url, …) ou bien à l'entité à laquelle il fait référence. Sur la page officielle du module sur drupal.org, nous pouvons trouver des exemples pratiques de son utilisation.
Enfin, nous devons être conscients que nous pouvons également programmer notre propre extension Twig dans un module personnalisé. Ce processus est simple :
- Nous programmons une classe “NOMDECLASSE” qui hérite de “AbstractExtension” dans le fichier “src/Twig/Extensions/NOMDECLASSE.php” d'un module existant ou nouvellement créé. Ensuite, nous devons déclarer nos fonctions dans la méthode “getFunctions” et nos filtres dans la méthode “getFilters”. Les autres détails de l'implémentation peuvent être rapidement connus en examinant le code source de l'un des deux modules que nous avons analysés dans cet article.
- Nous déclarons l'extension Twig “NOMDECLASSE” que nous avons programmée au point précédent dans le fichier “NOMDUMODULE.services.yml” de notre module.
Share