Advertisement
NFL

Zend_Paginator Simple usage

NFL
May 23rd, 2012
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.68 KB | None | 0 0
  1. /*Zend_Paginator simple usage*/
  2.  
  3. $model = new Application_Model_Test(); //Нужная модель
  4.         $data = $model->getAdapter()->query("SELECT * FROM test")->fetchAll(); //выгребаем ВСЕ, надо оптимизировать
  5.         $page = $this->_getParam('page', 1); //номер страницы
  6.         $paginator = Zend_Paginator::factory($data); //фабрикуем пагинатор
  7.         $paginator->setItemCountPerPage(3); //количество материалов на странице (в админку?)
  8.         $paginator->setCurrentPageNumber($page); //текущая страница
  9.  
  10.         $this->view->paginator = $paginator; //передали во вью
  11.  
  12.  
  13.  
  14. /*Скрипт вида для pagination partial*/
  15. <?php if ($this->pageCount): ?>
  16. <div id="paginationControl">
  17. <!-- Ссылка на предыдущую страницу -->
  18. <?php if (isset($this->previous)): ?>
  19.   <a href="<?= $this->url(array('page' => $this->previous)); ?>">&lt; Previous</a> |
  20. <?php else: ?>
  21.   <span class="disabled">&lt; Previous</span> |
  22. <?php endif; ?>
  23.  
  24. <!-- Нумерованные ссылки на страницы -->
  25. <?php foreach ($this->pagesInRange as $page): ?>
  26.   <?php if ($page != $this->current): ?>
  27.     <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a> |
  28.   <?php else: ?>
  29.     <?= $page; ?> |
  30.   <?php endif; ?>
  31. <?php endforeach; ?>
  32.  
  33. <!-- Ссылка на следующую страницу -->
  34. <?php if (isset($this->next)): ?>
  35.   <a href="<?= $this->url(array('page' => $this->next)); ?>">Next &gt;</a>
  36. <?php else: ?>
  37.   <span class="disabled">Next &gt;</span>
  38. <?php endif; ?>
  39. </div>
  40. <?php endif; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement