Zend Framework comment obtenir le numéro d'article dans la boucle? partialLoop partialCounter et?

StackOverflow https://stackoverflow.com/questions/1699588

Question

Je veux faire un traitement particulier pour le dernier élément d'une partialLoop, documentation mentionner au sujet de $this->partialCounter mais pas la variable avec le nombre total d'articles ...

<?php
if( $this->partialCounter == $mysteryvariable -1 ): 
?>

Il me manque quelque chose que je pense ... ne peut pas obtenir ma main sur cette variable ...

Était-ce utile?

La solution

Zend_Registy::set('PartialCount', count($iterable));
$this->partialLoop($script,$iterable);

puis dans votre vue

$count = Zend_Registy::get('PartialCount'); 

Rapide et merdique, mais travailler. Autre moyen serait de d'étendre aide PartialLoop;)

Autres conseils

Pour obtenir le nombre total d'éléments, vous devrez étendre soit Zend_View_Helper_PartialLoop pour fournir une méthode qui renvoie le nombre de l'objet itérable utilisé par le PartialLoop.

Ou, et je dirais que cela est probablement plus facile, juste obtenir le nombre d'éléments dans l'objet avant de le transmettre dans le PartialLoop puisque vous devez soit un objet Traversable ou un tableau réel dans l'aide PartialLoop et à la fois mettre en œuvre support de comptage ().

De la documentation:

<?php // partialLoop.phtml ?>
    <dt><?php echo $this->key ?></dt>
    <dd><?php echo $this->value ?></dd>


<?php // MyController.php

    public function indexAction()
    {
        $this->view->$model = array(
                                 array('key' => 'Mammal', 'value' => 'Camel'),
                                 array('key' => 'Bird', 'value' => 'Penguin'),
                                 array('key' => 'Reptile', 'value' => 'Asp'),
                                 array('key' => 'Fish', 'value' => 'Flounder'),
                              );

        $this->view->modelCount = count($this->view->model); 
    }

De index.phmtl

<p>Count: <?= $this->modelCount ?></p>
<dl>
<?php echo $this->partialLoop('partialLoop.phtml', $this->model) ?>
</dl>

Je savais que c'est un vieux problème, mais dans ZF 1.12.1 cela sera corrigé. Jusque-là, il y a un patch pour obtenir sous l'URL suivante:

http://framework.zend.com/issues/browse/ZF-7151

Cordialement, Sascha

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top