IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] Sections imbriquées


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut [Smarty] Sections imbriquées
    Bonjour,

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

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut
    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 ?

  3. #3
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    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 ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/05/2015, 14h28
  2. [Smarty] Récupérer une variable antérieur dans une section
    Par javacolas dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/08/2011, 02h16
  3. [Smarty] SMarty, block imbriqué
    Par Moi06 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/11/2010, 03h39
  4. Réponses: 9
    Dernier message: 30/08/2008, 20h31
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo