SHOW:
|
|
- or go back to the newest paste.
| 1 | <?php | |
| 2 | /*Zend_Paginator simple usage*/ | |
| 3 | ||
| 4 | - | $data = $model->getAdapter()->query("SELECT * FROM test")->fetchAll(); //выгребаем ВСЕ, надо оптимизировать
|
| 4 | + | |
| 5 | //$data = $model->getAdapter()->query("SELECT * FROM test")->fetchAll(); //выгребаем ВСЕ, надо оптимизировать
| |
| 6 | ||
| 7 | /*Заменяем выборку:*/ | |
| 8 | /*Вместо запроса передаем фабрике адаптер БД*/ | |
| 9 | $paginator = Zend_Paginator::factory($a->select()); | |
| 10 | ||
| 11 | ||
| 12 | $page = $this->_getParam('page', 1); //номер страницы
| |
| 13 | $paginator = Zend_Paginator::factory($data); //фабрикуем пагинатор | |
| 14 | $paginator->setItemCountPerPage(3); //количество материалов на странице (в админку?) | |
| 15 | $paginator->setCurrentPageNumber($page); //текущая страница | |
| 16 | ||
| 17 | $this->view->paginator = $paginator; //передали во вью | |
| 18 | ?> | |
| 19 | ||
| 20 | ||
| 21 | /*Скрипт вида для pagination partial*/ | |
| 22 | <?php if ($this->pageCount): ?> | |
| 23 | <div id="paginationControl"> | |
| 24 | <!-- Ссылка на предыдущую страницу --> | |
| 25 | <?php if (isset($this->previous)): ?> | |
| 26 | <a href="<?= $this->url(array('page' => $this->previous)); ?>">< Previous</a> |
| |
| 27 | <?php else: ?> | |
| 28 | <span class="disabled">< Previous</span> | | |
| 29 | <?php endif; ?> | |
| 30 | ||
| 31 | <!-- Нумерованные ссылки на страницы --> | |
| 32 | <?php foreach ($this->pagesInRange as $page): ?> | |
| 33 | <?php if ($page != $this->current): ?> | |
| 34 | <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a> |
| |
| 35 | <?php else: ?> | |
| 36 | <?= $page; ?> | | |
| 37 | <?php endif; ?> | |
| 38 | <?php endforeach; ?> | |
| 39 | ||
| 40 | <!-- Ссылка на следующую страницу --> | |
| 41 | <?php if (isset($this->next)): ?> | |
| 42 | <a href="<?= $this->url(array('page' => $this->next)); ?>">Next ></a>
| |
| 43 | <?php else: ?> | |
| 44 | <span class="disabled">Next ></span> | |
| 45 | <?php endif; ?> | |
| 46 | </div> | |
| 47 | <?php endif; ?> |