View difference between Paste ID: 2rJcQV5d and YErGp85A
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)); ?>">&lt; Previous</a> | 
27
<?php else: ?> 
28
  <span class="disabled">&lt; 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 &gt;</a>
43
<?php else: ?> 
44
  <span class="disabled">Next &gt;</span>
45
<?php endif; ?> 
46
</div> 
47
<?php endif; ?>