2010-02-05 1 views
1

в моем контроллере я создал экземпляр Paginator так:Добавление элементов в Zend_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, было бы полезно :-).

+0

В строке меню на экране редактирования с надписью «010» есть кнопка. Выберите код и нажмите кнопку. SO использует Markdown для форматирования текста, поэтому вы можете использовать синтаксис, указанный на http://daringfireball.net/projects/markdown/syntax – Gordon

+0

К сожалению, я не понимаю главный вопрос. – Gordon

ответ

1

Я думаю, что должно быть возможно добавить значение к элементу в вашем 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); 
    } 

Немного поздно, но я надеюсь, что это поможет, если не вам, возможно, другим людям, которые могут иметь схожие проблемы.

+0

С PHP 5.2x это не сработает :( – bksi

 Смежные вопросы

  • Нет связанных вопросов^_^