Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/05/2007, 04h43   #1
Futur Membre du Club
 
Inscription : avril 2004
Messages : 77
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 77
Points : 19
Points : 19
Par défaut Sections imbriquées

Bonjour,

Je dois parcourir un tableau et récupérer des informations.
Voici la structure de mon tableau :

Code X :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{$m_product_options}	Array (4)
0 => Array (3)
  0 => Array (9)
    classid => 85
    productid => 41
    class => Style
    classtext => Style
    orderby => 1
    avail => Y
    is_modifier => empty
    class_orig => Style
    options => Array (11)
      286 => Array (8)
        classid => 85
        option_name => Ruched Bandeau
        orderby => 1
        avail => Y
        price_modifier => 0.00
        modifier_type => $
        option_name_orig => Ruched Bandeau
        optionid => 286

Je veux récupérer option_name.

Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{section name=m_product loop=$matching}
<tr>
<td colspan="2">{$matching[m_product].product}
{section name=m_product_options loop=$m_product_options}
{section name=m_product_options2 loop=$m_product_options[m_product_options]}
//test sur l'id
{if $m_product_options[m_product_options][m_product_options2].productid eq $matching[m_product].productid}
 
//la pas de soucis, j'affiche bien la valeur de classtext et je suis bien dans le bon id
{$m_product_options[m_product_options][m_product_options2].classtext} : 
 
 
//L'affichage de $m_product_options[m_product_options][m_product_options2].options me donne Array, ce qui est normal
 
//La ce se complique. J'ai essayé ca qui ne marchait pas : 
//{section name=m_product_options3 loop=$m_product_options[m_product_options][m_product_options2]}
//puis ca qui ne marchait pas non plus
//{section name=m_product_options3 loop=$m_product_options[m_product_options][m_product_options2].options}
 
//du coup j'essaie ce foreach qui fonctionne : 
{foreach from=$m_product_options[m_product_options][m_product_options2].options item=m_product_options3}
// Affichage de $m_product_options3} me dit Array (ce qui est normal) et juste (G 7 option_name dans Syle, il affait 7 fois Array at ainsi de suite)
 
//Essaie section qui marche pas : 
//{section name=m_product_options4 loop=$m_product_options[m_product_options][m_product_options2][m_product_options3]}
 
//Essai foreach
{foreach from=$m_product_options3 item=m_product_options4}
 
//Marche, m'affiche classid, option_name, orderby, etc...Mais je peux pas choisir que option_name
{$m_product_options4}
 
{/foreach}
{/foreach}
{/if}
{/section}
{/section}
Ma question est : pourquoi j'arrive a parcourir avec des foreach et pas avec des sections ? Je dois utiliser des sections car je ne veux que option_name.

Je suis dessus depuis 2 jours...Je craque !!!
Est-ce que quelqu'un peut m'aider ???

Merci d'avance,
Deb
debie1108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 06h10   #2
Futur Membre du Club
 
Inscription : avril 2004
Messages : 77
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 77
Points : 19
Points : 19
J'ai trouvé une solution on me servant de l'attribut key de foreach.
Je fais un test pour savoir si key est égale à option_name. Si oui j'affiche.

Ca marche, mais est-ce que c'est variment "propre" ?
Qu'en pensez vous ?
debie1108 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 06h37   #3
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Personnelement j'aurais fait un template générique pour un product.
Dans la boucle pour chaque produit un {include}. C'est légèrement plus lourd mais avec smarty : c'est le prix n'est-ce-pas ...
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h39.


 
 
 
 
Partenaires

Hébergement Web