Как сделать pager в Zend Framework 1?

Здравствуйте, пытаюсь разобраться в этом фреймворке, нужна именно первая версия. Делаю по этой серии статей ruseller.com/lessons.php?rub_id=37&id=989 гостевую книгу со своими мелкими правками (я всё вывожу на индексной странице). Необходимо реализовать пейджер, что-то нашёл тут framework.zend.com/manual/1.12/ru/zend.paginator.u... но так и не понял, как это прикрутить к моему случаю... Создаётся ощущение, что я с самого начала делал всё не правильно. Прошу помощи.
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
В представление теперь нужно передавать объект Zend_Paginator (массив фильмов, разбитый на страницы). Приведу самый простой вариант, используя Zend_Paginator_Adapter_Array. Как только освоитесь с ним, можете переписать через адаптер, использующий БД:
public function indexAction()
{
    $movies = new Application_Model_DbTable_Movies();
    $paginator = Zend_Paginator::factory($movies->fetchAll());
    $paginator->setItemCountPerPage(15);

    $page = $this->_getParam('page', 1);
    $paginator->setCurrentPageNumber($page);
    
    $this->view->movies = $paginator->getCurrentItems();
    $this->view->paginator = $paginator;
}


В шаблон добавить вывод постраничной навигации:
<table>
    <tr>
        <th>Название</th>
        <th>Режиссёр</th>
        <th> </th>
    </tr>
    <?php echo $this->partialLoop('partials/movie.phtml', $this->movies); ?>
</table>
<?php echo $this->paginationControl($this->paginator, 'Sliding', 'pagination_control.phtml'); ?>


И сам шаблон для постраничной навигации. Примеры есть в документации:
framework.zend.com/manual/1.12/ru/zend.paginator.u...

На ZF1 сейчас нет особо смысла учиться писать. Скоро уже ZF3 выйдет.
Пример разработки блога на Zend Framework 2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы