Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 2
    Points
    2

    Par défaut boucle incrementation zope/plone

    Bonjour,
    je suis bloqué sur l'incrementation d'une variable dans une ZPT.
    Je souhaiterais incrémenter la variable x de 1 à chaque itération.
    Pour l'instant il me renvoie qu'une suite de 1.

    voici la ZPT :
    Code :
    1
    2
    3
    <div tal:repeat="item2 results2" define="x python:portal.incrementation_i" tal:omit-tag="">
    <div tal:replace:"x">
    </div>
    voici le script "incrementation_i" :
    Code :
    1
    2
    3
    4
    i=0
    while i<15:
      i=i+1
      return i

  2. #2
    Membre chevronné
    Avatar de airod
    Homme Profil pro Benoit Martiré
    Synapse médical, Sèvres (92)
    Inscrit en
    août 2004
    Messages
    742
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoit Martiré
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Synapse médical, Sèvres (92)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 742
    Points : 776
    Points
    776

    Par défaut

    avec un range ca serait pas mieux?

    Code :
    1
    2
    3
    <div tal:repeat="x python:range(0,15)">
        <div tal:content="x"></div>
    </div>
    Pensez à la documentation en ligne, ca aide!

  3. #3
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 2
    Points
    2

    Par défaut

    Merci pour ta réponse.
    oui avec range le code python est plus propre
    j'avais deja utiliser cette méthode (avec repeat) mais ca ne convient pas
    parce que il y a un "repeat" dans la première ligne du code ZPT et cela
    va me compter de 0 à 15 autant de fois qu'il y a d'itération dans la première boucle. Et ce que je souhaite c'est une incrémentation de 1 a chaque itération de la première boucle.
    et je ne peux pas utiliser encore une fois de repeat dans le première ligne du code ZPT puisque une commande ne peut être présente qu´une seule fois.
    sinon j'ai fais 2 erreurs de syntaxe dans le code ZPT (j'ai oublié le tal devant le define et je n'ai pas fermé la balise <div> :

    Code :
    1
    2
    3
    <div tal:repeat="item2 results2" tal:define="x python:portal.incrementation_i" tal:omit-tag="">
         <div tal:replace="x"></div>
    </div>

  4. #4
    Membre chevronné
    Avatar de airod
    Homme Profil pro Benoit Martiré
    Synapse médical, Sèvres (92)
    Inscrit en
    août 2004
    Messages
    742
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoit Martiré
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Synapse médical, Sèvres (92)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 742
    Points : 776
    Points
    776

    Par défaut

    simple alors !
    Code :
    1
    2
    3
    4
     
    <div tal:repeat="a b">
          <div tal:content="python:repeat['a'].index"></div>
    </div>
    dans ton cas c'est que turécupère l'index de ton repeat!!!! ou alors tu as mal exposé ton problème!!
    Pensez à la documentation en ligne, ca aide!

  5. #5
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 9
    Points : 2
    Points
    2

    Par défaut

    oui ca fonctionne.
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •