Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-04-2011 14:45:55

Samsawell
Nouveau membre
Date d'inscription: 04-04-2011
Messages: 3

Variable persistante dans un partialLoop() ?

Bonjour bonjour !

Savez-vous comment faire pour avoir des variables persistante lorsqu'on utilise un partialLoop ?
Par exemple :

Dans ma vue j'affiche un tableau dont les lignes sont générées avec partialLoop() :

Code:

<table border>
    <tr>
        <th>Numéro</th>
        <th>Nom</th>
    </tr>
    <?php $this->partialLoop('bidule.php', $this->bidule) ?>
</table>

Dans mon fichier bidule.php, j'ai le code suivant qui marche parfaitement :

Code:

<?php
 
if(isset($i)
    $i = $i + 1;
else
    $i = 1;
 
?>
 
<tr>
    <td><?php $i ?></td>
    <td><?php $this->nom ?></td>
</tr>

Sauf que...
Sauf que $i est toujours égal à 1 sad
A chaque itération, la variable $i est supprimée et n'existe donc plus lors de l'itération suivante.
La condition du if() n'est jamais validée

Comment faire pour conserver une variable d'une itération à l'autre ?


(Bon j'ai simplifié mon code pour le poster ici, il est possible qu'il y ai une ou deux erreurs de syntaxes ^^)

Dernière modification par Samsawell (06-04-2011 15:55:27)

Hors ligne

 

#2 05-04-2011 15:02:42

tylerdurd
Membre
Date d'inscription: 22-07-2009
Messages: 75

Re: Variable persistante dans un partialLoop() ?

Bonjour,

il a l'air d'exister une variable propre au partial qui se nomme partialCounter

http://framework.zend.com/manual/en/zen … al.partial

En espérant que ça règle ton problème.

Dernière modification par tylerdurd (05-04-2011 15:02:59)

Hors ligne

 

#3 06-04-2011 14:07:55

Samsawell
Nouveau membre
Date d'inscription: 04-04-2011
Messages: 3

Re: Variable persistante dans un partialLoop() ?

Aw d'accord, merci !!! Ça a effectivement l'air d'être ça, mais je n'arrive toujours pas à l'utiliser.
D'ailleurs il y a déjà un topic sur ce point j'ai vu : partialLoop : Accéder au partialCounter

J'ai fais autrement du coup, mais si un jour quelqu'un à la réponse, qu'il n'hésite pas à nous la livrer  wink

Dernière modification par Samsawell (06-04-2011 14:11:44)

Hors ligne

 

#4 06-04-2011 14:53:13

tylerdurd
Membre
Date d'inscription: 22-07-2009
Messages: 75

Re: Variable persistante dans un partialLoop() ?

C'est étrange effectivement.

Tu peux mettre le code avec lequel tu as testé $this->partialCounter ??

Merci.

Hors ligne

 

#5 06-04-2011 16:16:19

Samsawell
Nouveau membre
Date d'inscription: 04-04-2011
Messages: 3

Re: Variable persistante dans un partialLoop() ?

En fait, l'affichage de partialCounter en lui-même fonctionne.
Dans le fichier appelé par la partialLoop() j'ai simplement fait :

Code:

<?php
     echo 'partialCounter = ' . $this->partialCounter;
?>

Mais cette variable, aussi chou soit-elle ne me permet pas de faire ce que je voulais faire à la base. Déjà on ne peut pas la modifier, ensuite si toutes les itérations de mon partialLoop ne renvoi pas de code html (disons une ligne pour mon tableau), elle s'incrémente quand même et je ne peux pas numéroter mes lignes de tableau de manière linéaire sad

Bref, c'est même pas ça qui m'intéressais de faire en plus ^^
Moi je voudrais pouvoir vérifier lors d'une itération que certaines données ne sont pas les mêmes qu'à l'itération précédente. Avec une boucle for par exemple, ça aurait donné quelque chose comme ça :

Code:

<?php

    $tabPrenom = array("0" => "Machin", "1" => "Truc", "2" => "Chose");

     for($i=0; $i < 10; $i++)
    {
          $prenom = $tabPrenom[$i];

          if($i > 0)
          {
               $prenomPrecedent = tabPrenom[$i-1];

               if($prenom == $prenomPrecedent)
                    echo 'Prénom déjà existant !';
          }
     }

?>

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages