Zend Framework nasıl döngü içinde öğenin numarasını almak için?

3 Cevap php

Ben bir partialLoop son öğe, documentation öğelerin toplam sayısı ile değişken $this->partialCounter hakkında değil söz için belirli bir işlem yapmak istiyorum. ..

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

Sanırım bir şey eksik ... bu değişken üzerinde elimi alamıyorum ...

3 Cevap

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

ve ardından görünümünde

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

Hızlı ve berbat, ama çalışma. Diğer yol PartialLoop bir yardımcı uzatmak olacaktır ;)

Öğe toplam sayısını elde etmek için, PartialLoop tarafından kullanılan iterable nesne sayısını verir bir yöntem sağlamaktır Zend_View_Helper_PartialLoop genişletmek ya sahip olacaktır.

Ya da, ve ben bu muhtemelen daha kolay olduğunu söyleyebilirim, sen PartialLoop yardımcısı içine Traversable nesne veya gerçek bir dizi ya geçmek ve sayımı için destek uygulamak hem zorunda beri PartialLoop geçirmeden önce sadece nesne öğelerin sayısını almak (.)

Belgeleri:

<?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); 
    }

Index.phmtl Gönderen

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

Bu eski bir konudur biliyordu, ama ZF 1.12.1 bu sabit olacaktır. O zamana kadar şu URL'ye altına almak için bir yama var:

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

Regards, Sascha