Zend Framework ¿Cómo obtener el número de elementos en el bucle? parcialloop parcialcounter y?

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

Pregunta

Quiero hacer un procesamiento particular para el último elemento de un partialLoop, la documentación mencionar $this->partialCounter Pero no la variable con el número total de elementos ...

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

Me estoy perdiendo algo, creo ... No puedo poner mi mano sobre esa variable ...

¿Fue útil?

Solución

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

Y luego en tu opinión

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

Rápido y horrible, pero trabajando. Otra forma sería extender el ayudante parcialloop;)

Otros consejos

Para obtener el número total de elementos, deberá extender Zend_View_Helper_Partialloop para proporcionar un método que devuelva el recuento del objeto Iterable que el utiliza parcialloop.

O, y yo diría que esto probablemente sea más fácil, solo obtenga el recuento de elementos en el objeto antes de pasarlo al parcialloop ya que tiene que pasar un objeto transversable o una matriz real al ayudante parcialloop y ambos implementan soporte para el recuento ().

De la documentación:

<?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>

Sabía que este es un viejo problema, pero en ZF 1.12.1 esto se solucionará. Hasta entonces, hay un parche para tener la siguiente URL:

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

Saludos, Sascha

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top