Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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() :
<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 :
<?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
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
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
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
Dernière modification par Samsawell (06-04-2011 14:11:44)
Hors ligne
C'est étrange effectivement.
Tu peux mettre le code avec lequel tu as testé $this->partialCounter ??
Merci.
Hors ligne
En fait, l'affichage de partialCounter en lui-même fonctionne.
Dans le fichier appelé par la partialLoop() j'ai simplement fait :
<?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
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 :
<?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