Zend Framework Как получить количество элементов в цикле? PartialLoop PartialCounter и?

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

Вопрос

Я хочу сделать конкретную обработку для последнего элемента partialLoop, документация упоминание о $this->partialCounter но не переменная с общим количеством элементов ...

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

Мне не хватает чего -то, я думаю ... не могу получить руку на эту переменную ...

Это было полезно?

Решение

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

А потом, по вашему мнению

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

Быстро и дерьмо, но работает. Другим способом будет продлить Partialloop jerper;)

Другие советы

Чтобы получить общее количество элементов, вам придется либо расширить zend_view_helper_partialloop, чтобы предоставить метод, который возвращает количество итерабильного объекта, используемого Partialloop.

Или, и я бы сказал, что это, вероятно, проще, просто получите количество элементов в объекте, прежде чем перенести его в PartialLoop, поскольку вам нужно передать либо обходной объект, либо фактическое массив в The Partialloop Helper и оба реализуйте поддержку для счета ().

Из документации:

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

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

Я знал, что это старая проблема, но в ZF 1.12.1 это будет исправлено. До тех пор есть патч, чтобы попасть под следующий URL:

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

С уважением, саша

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top