в моем контроллере я создал экземпляр paginator следующим образом:
// On crée un objet paginator pour afficher un tableau de résultat. $paginator = Zend_Paginator::factory($versions->getVersions($projectId)); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setItemCountPerPage(15);
Затем я повторяю на мой взгляд так:
<? foreach ($this->paginator as $item): ?> <? ($flag == "pair") ? $flag = "impair" : $flag = "pair"; ?> <tr class="<?= $flag; ?>"> <!-- version nom de la version --> <td> <a href="<?= $this->url(array('module' => "admin", 'controller' => "version", 'action' => "index", 'project' => $item['idversion'])); ?>"> <?= $item['lab_version']; ?> </a> </td> <!-- version nom du project --> <td><?= $item['name_patrimony']; ?></td> <!-- version retrodocumente ? --> <td class="version-retrodoc"> <a href="<?= $this->url(array("module" => "doxygen", "controller" => "doxygen", "action" => "create", "version" => $item['idversion']), null, true); ?>"> <img src="<?= $this->baseUrl() . '/img/system-run.png' ?>" alt="retrodocumenté"/> </a> </td> </tr> <? endforeach; ?>
Но в моем контроллере я бы справился с некоторыми условиями. Мой экземпляр paginator представляет собой коллекцию версии проекта. Поэтому я бы обработал, если домашний каталог был правильно создан, если информация о версии правильно вставлена в db … Все, что проверяется в контроллере. Моя цель состоит в том, чтобы добавить эти переменные (большую часть времени булевых) и добавить их в экземпляр paginator, чтобы затем я перебирал его в представлении и добавлял ошибку сообщения.
PS: Если кто-то может сказать мне, как правильно форматировать PHP-код в Stackoverflow, было бы полезно :-).
Я думаю, что должно быть возможно добавить значение к элементу в вашем paginator. Однако точная методология будет зависеть от вашего адаптера, который вы используете в paginator. Как пример, я предоставил фрагмент, в котором показано, как добавить значение к элементу в paginator, который использует адаптер массива.
// somewhere in your controller: $input = array( array( 'firstname' => 'somename', 'lastname' => 'somelastname', 'location' => 'somelocation' ), array( 'firstname' => 'somename2', 'lastname' => 'somelastname2', 'location' => 'somelocation2' ) ); $paginator = Zend_Paginator::factory($input); $paginator->setCurrentPageNumber(1); foreach ($paginator as $key => &$value) { // performe some logic to check if the home directory has been correctly created // and the boolean value to represent this (in this example it is always false). $value['newVariable'] = false; var_dump($value); }
Немного поздно, но я надеюсь, что это поможет, если не вам, возможно, другим людям, которые могут иметь схожие проблемы.