Добавить
Уведомления

Symfony6 Techwall #21 Twig symfony Inclure un fragment twig ou un contrôleur dans une page Twig

sf6 Techwall 21 Twig symfony Inclure un fragment twig ou un controlleur dans une page Twig Afin d’inclure un Template ou un fragment de code dans un autre template on utilise la syntaxe suivante : {% include 'Dossier/nomTemplate‘ with {'labelParam1': param1,'labelParam2': param2,... } %} Le chemin commance par le dossier Template Exemple : {{ include('Default/section.html.twig', {'Section': section}) Que faire si on veut inclure un template dynamique ? Un template des meilleurs ventes un template des articles les plus vus, les derniers cours postés … La solution consiste à afficher la valeur de retour de la fonction render qui prend en paramètres le controlleur à appeler et les attributs qu’il attend de recevoir. Inclure un contrôleur sans ou avec des paramètres. Syntaxe : {{ render(controller(‘StringSyntaxControllerName::function', {'labelParam1': param1,'labelParam2': param2,... })) }} Exemple {{ render(controller(‘App\\Controller\\PersonneController::List', { ‘page': 10 })) }} Afin d’hériter d’un Template père il faut étendre ce dernier avec la syntaxe suivante : {% extends 'TemplateDeBase' %} Exemple : {% extends 'base.html.twig' %} Si le fils ne surcharge aucun des blocs et n’ajoute rien on aura le même affichage que pour la base L’élément de base de l’héritage est le bloc Un bloc est définit comme suit : {% block nomBloc%} contenu du bloc{%endblock%} Pour changer le contenu de la page il faut sur-définir le bloc cible En héritant d’une page et si vous écrivez du code à l’extérieur des blocs vous aurez le message suivant qui est très explicite. Pour récupérer le contenu d’un bloc père il suffit d’utiliser la méthode parent() Ceci peut être aussi appliqué pour toute la hiérarchie Twig est un : Moteur de Template PHP. Développé par l'équipe de Sensio Labs, Directement intégré dans Symfony (pas besoin de l’installer). L'objectif principal de Twig est de permettre aux développeurs de séparer la couche de présentation (Vue) dans des Templates dédiés, afin de favoriser la maintenabilité du code. Idéal pour les graphistes qui ne connaissent pas forcément le langage PHP et qui s'accommoderont parfaitement des instructions natives du moteur, relativement simples à maîtriser. Il y a quelques fonctionnalités en plus, comme l'héritage de templates. Il sécurise vos variables automatiquement (htmlentities(), addslashes()) La syntaxe de twig est : {{ maVar }} : Les doubles accolades (équivalent de l’echo dans php) permettent d'imprimer une valeur, le résultat d'une fonction... {% code %}: Les accolades pourcentage permettent d'exécuter une fonction, définir un bloc... {# Les commentaires #}: Les commentaires. Lorsqu’on veut accéder à un attribut d’un objet avec twig on a le fonctionnement suivant pour l’exemple {{objet.attribut}} : Vérification si l’objet est un tableau si oui vérifier que nous avons un index valide dans ce cas elle affiche le contenu de objet[‘attribut’] Sinon, si objet est un objet, elle vérifie si attribut est un attribut valide public. Si c'est le cas, elle affiche objet-attribut. Sinon, si objet est un objet, elle vérifie si attribut() est une méthode valide publique. Si c'est le cas, elle affiche objet-attribut(). Sinon, si objet est un objet, elle vérifie si getAttribut() est une méthode valide. Si c'est le cas, elle affiche objet-getAttribut(). Sinon, et si objet est un objet, elle vérifie si isAttribut() est une méthode valide. Si c'est le cas, elle affiche objet-isAttribut(). Sinon, elle n'affiche rien et retourne null.

Иконка канала Понятный JS
13 подписчиков
12+
16 просмотров
2 года назад
12+
16 просмотров
2 года назад

sf6 Techwall 21 Twig symfony Inclure un fragment twig ou un controlleur dans une page Twig Afin d’inclure un Template ou un fragment de code dans un autre template on utilise la syntaxe suivante : {% include 'Dossier/nomTemplate‘ with {'labelParam1': param1,'labelParam2': param2,... } %} Le chemin commance par le dossier Template Exemple : {{ include('Default/section.html.twig', {'Section': section}) Que faire si on veut inclure un template dynamique ? Un template des meilleurs ventes un template des articles les plus vus, les derniers cours postés … La solution consiste à afficher la valeur de retour de la fonction render qui prend en paramètres le controlleur à appeler et les attributs qu’il attend de recevoir. Inclure un contrôleur sans ou avec des paramètres. Syntaxe : {{ render(controller(‘StringSyntaxControllerName::function', {'labelParam1': param1,'labelParam2': param2,... })) }} Exemple {{ render(controller(‘App\\Controller\\PersonneController::List', { ‘page': 10 })) }} Afin d’hériter d’un Template père il faut étendre ce dernier avec la syntaxe suivante : {% extends 'TemplateDeBase' %} Exemple : {% extends 'base.html.twig' %} Si le fils ne surcharge aucun des blocs et n’ajoute rien on aura le même affichage que pour la base L’élément de base de l’héritage est le bloc Un bloc est définit comme suit : {% block nomBloc%} contenu du bloc{%endblock%} Pour changer le contenu de la page il faut sur-définir le bloc cible En héritant d’une page et si vous écrivez du code à l’extérieur des blocs vous aurez le message suivant qui est très explicite. Pour récupérer le contenu d’un bloc père il suffit d’utiliser la méthode parent() Ceci peut être aussi appliqué pour toute la hiérarchie Twig est un : Moteur de Template PHP. Développé par l'équipe de Sensio Labs, Directement intégré dans Symfony (pas besoin de l’installer). L'objectif principal de Twig est de permettre aux développeurs de séparer la couche de présentation (Vue) dans des Templates dédiés, afin de favoriser la maintenabilité du code. Idéal pour les graphistes qui ne connaissent pas forcément le langage PHP et qui s'accommoderont parfaitement des instructions natives du moteur, relativement simples à maîtriser. Il y a quelques fonctionnalités en plus, comme l'héritage de templates. Il sécurise vos variables automatiquement (htmlentities(), addslashes()) La syntaxe de twig est : {{ maVar }} : Les doubles accolades (équivalent de l’echo dans php) permettent d'imprimer une valeur, le résultat d'une fonction... {% code %}: Les accolades pourcentage permettent d'exécuter une fonction, définir un bloc... {# Les commentaires #}: Les commentaires. Lorsqu’on veut accéder à un attribut d’un objet avec twig on a le fonctionnement suivant pour l’exemple {{objet.attribut}} : Vérification si l’objet est un tableau si oui vérifier que nous avons un index valide dans ce cas elle affiche le contenu de objet[‘attribut’] Sinon, si objet est un objet, elle vérifie si attribut est un attribut valide public. Si c'est le cas, elle affiche objet-attribut. Sinon, si objet est un objet, elle vérifie si attribut() est une méthode valide publique. Si c'est le cas, elle affiche objet-attribut(). Sinon, si objet est un objet, elle vérifie si getAttribut() est une méthode valide. Si c'est le cas, elle affiche objet-getAttribut(). Sinon, et si objet est un objet, elle vérifie si isAttribut() est une méthode valide. Si c'est le cas, elle affiche objet-isAttribut(). Sinon, elle n'affiche rien et retourne null.

, чтобы оставлять комментарии