Twig -> Utiliser une variable comme nom partiel d'une autre - PHP - Programmation
Marsh Posté le 09-09-2019 à 13:02:10
Je comprends que elem a la même valeur que tab.nme en fait, c'est ça ? T aligne 2 ne peut fonctionner car ce qui vient après "in" est un tableau. Or, tu donnes une valeur.
Pas sûr du coup que tu aies besoin de 2 boucles. La première devrait suffire. La syntaxe stats[data] ou stats[data.name] ou stats.data.name, ça marche ? Je ne connais pas Twig mais je comprends que data est un élément dépilé de tab.
Marsh Posté le 09-09-2019 à 15:02:55
tab.name est bien juste une variable "string", qui peut avoir comme valeur par exemple "intitule".
Par contre, "stats" est lui un tableau, et si je fais ma boucle avec: {% for elem in stats.intitule %}, ça fonctionne bien.
elem n'a donc pas la même valeur que tab.name, mais il a la valeur correspondant à la clé du tableau "stats[tab.name]" en quelque sorte.
En PHP je ferais $stats[$tab['name']].
Je ne sais pas si je suis très clair…
Marsh Posté le 09-09-2019 à 15:28:09
ReplyMarsh Posté le 09-09-2019 à 15:31:09
c'est un truc comme ça que tu veux ?
Code :
|
Marsh Posté le 09-09-2019 à 16:31:05
Au passage, j'ai jamais trop compris l'intérêt de passer par ce genre d'outil (Twig, Smarty...) pour faire une appli qui respect le MVC Pourquoi passer par un pseudo-langage qui fait généralement moins de choses que le langage sur lequel il s'appuie (ici, PHP) ? Bien souvent, on se fait chier à trouver une syntaxe pour faire un truc dans ce pseudo-langage qu'on ferait facilement avec PHP
On peut trè bien faire une apli MVC en PHP où d'un côté, tu mets tes fichiers PHP qui se chargent de faire l'accès aux données, d'un autre, les fichiers PHP qui génèrent les vues et de l'autre, les fichiers PHP qui gèrent les contrôleurs qui s'appuient eux-mêmes sur les fichiers d'accès aux données et sur les vues.
Marsh Posté le 05-10-2019 à 18:10:03
Tout d'abord merci pour votre aide à tous.
Pour te répondre rufo je suis passé à Twig un peu par curiosité au départ et j'ai trouvé ça très pratique rapidement.
Alors oui on a moins de possibilités mais ce n'est pas non plus le but d'un Template de faire du traitement donc une fois pris le coup je ne suis plus embêté par ça, hormis quelques fois comme ici où il s'agit plutôt d'une prise en main de l'outil qu'autre chose.
Sur Twig on retrouve quelques trucs assez pratiques comme des boucles "for-else", qui si le for ne trouve aucun élément (que le tableau soit vide où qu'il ne s'agisse même pas d'un tableau) on passe sur le else par exemple.
Autre exemple, pour afficher une variable: {{ma_variable}}. Inutile de vérifier si la variable existe. Si ce n'est pas le cas ça n'affiche rien, on n'a pas d'erreur.
Quelques petits trucs qu'on peut tout à faire faire en PHP mais qui ici sont simplifiés.
Perso je trouve ça pratique quoi.
Marsh Posté le 06-10-2019 à 20:33:40
rufo a écrit : Au passage, j'ai jamais trop compris l'intérêt de passer par ce genre d'outil (Twig, Smarty...) pour faire une appli qui respect le MVC Pourquoi passer par un pseudo-langage qui fait généralement moins de choses que le langage sur lequel il s'appuie (ici, PHP) ? Bien souvent, on se fait chier à trouver une syntaxe pour faire un truc dans ce pseudo-langage qu'on ferait facilement avec PHP |
bien sur que tu peux, mais un moteur de template te force a suivre cette convention, en plus d'avoir des affichage qui sont forcement echappés comme il faut et du gain en perf
Marsh Posté le 09-09-2019 à 08:58:30
Bonjour,
J'utilise Twig qui dans un template me génère des cards (Bootstrap) d'après les données d'un tableau (tab).
J'ai un autre tableau (stats) contenant des données, ayant comme clés ce qui est contenu dans "tab.name".
Je souhaiterais donc faire quelque chose du genre:
Comme vous vous en doutez ça ne fonctionne pas, et je ne vois pas comment faire malgré mes recherches...
Par avance, merci!