Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1646 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Twig -> Utiliser une variable comme nom partiel d'une autre

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Twig -> Utiliser une variable comme nom partiel d'une autre

n°2338862
Furaxx
Posté le 09-09-2019 à 08:58:30  profilanswer
 

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:
 

Code :
  1. {% for data in tab %}
  2.     {% for elem in stats.tab.name %}
  3.         /// Mon code
  4.     {% endfor %}
  5. {% endfor %}


 
Comme vous vous en doutez ça ne fonctionne pas, et je ne vois pas comment faire malgré mes recherches...
Par avance, merci!

mood
Publicité
Posté le 09-09-2019 à 08:58:30  profilanswer
 

n°2338875
rufo
Pas me confondre avec Lycos!
Posté le 09-09-2019 à 13:02:10  profilanswer
 

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.


Message édité par rufo le 09-09-2019 à 13:02:20

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2338882
Furaxx
Posté le 09-09-2019 à 15:02:55  profilanswer
 

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… ;)

n°2338885
mechkurt
Posté le 09-09-2019 à 15:28:09  profilanswer
 
n°2338886
xtieu
Posté le 09-09-2019 à 15:31:09  profilanswer
 

c'est un truc comme ça que tu veux ?  
 

Code :
  1. {% set tab = ['foo', 'bar', 'baz'] %}
  2.     {% set stats = {'foo': { 'name': ['foobar', 'foobaz']},
  3.         'bar': { 'name': ['barbar', 'barbaz']},
  4.         'baz': { 'name': ['bazfoo', 'bazbar']}} %}
  5.     {% for data in tab %}
  6.         {% for elem in stats[data]['name'] %}
  7.             {{ elem }}
  8.         {% endfor %}
  9.     {% endfor %}


Message édité par xtieu le 09-09-2019 à 15:31:55

---------------
"Jean-Claude m'a Tuer" - © OS10
n°2338892
rufo
Pas me confondre avec Lycos!
Posté le 09-09-2019 à 16:31:05  profilanswer
 

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.
 


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Twig -> Utiliser une variable comme nom partiel d'une autre

 

Sujets relatifs
[Script réseau] monter lecteur reseau avec variableTwig et nom de mois en français
[BASH] bad substitution sur formatage variableconcaténer nom de tableau et variable
Affichage variable selon page webComment passer une variable dans une fonction ??
Ecrire une variable tableau sur une feuille avec colonne masquéeeshta récupération de variable dans un formulaire
variable suivant une autre variableObtenir une variable (commande for) help
Plus de sujets relatifs à : Twig -> Utiliser une variable comme nom partiel d'une autre


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR