Вывод произвольных данных в постраничном виде (пагинация)

Главные вкладки

Аватар пользователя dashiwa dashiwa 29 июля 2016 в 14:04
4

Предлагаю решение.
pager
У вас есть какие-то данные из базы данных,из файла либо другого источника.
В данном примере мы рассмотрим работу с массивом таких данных.

Задача - Вывести данные с пагинацией и выводом определенного кол-ва данных на каждой странице пагинатора

Решение
Используем функцию theme_pager()

 $rows //- Наш массив с данными
    $per_page = 10; //Кол-во записей на страницу  
    $current_page = pager_default_initialize(count($rows), $per_page); //Счетчик текущей страницы на которой мы находимся  
    $chunks = array_chunk($rows, $per_page, TRUE);//Разделение массива данных на части
    //Практически все готово, осталось инициализировать функцию вывода контента самого пагинатора и вывести контент данных которые мы собрались         //обработать
    //Пример
    $header = array(array('data' => 'Title', 'sort' => 'asc', 'field' => 'n.title'), 'column 2', 'column 3');
    $output = theme('table', array('header' => $header, 'rows' => $chunks[$current_page]));//Вывод данных с помощью табличной функции друпала

  /*  Если мы хотим вывести более сложный контент. Используем переменную - $chunks[$current_page] - это часть массива данных ,которая зависит от страницы пагинатора,следовательно на каждой странице мы будем получать свой контент
 Используем данную переменную в цикле и выводим любой контент
Пример
foreach ($chunks[$current_page] as $categories_keys => $categories_row)
и тд.*/

   //Инициализируем вывод контента пагинатора
    $output .= theme('pager', array('quantity',count($rows)));

table

ВложениеРазмер
Иконка изображения images.jpeg14.48 КБ
Иконка изображения iq1jc.png8.92 КБ

Комментарии

Аватар пользователя Frenk Frenk 16 февраля 2017 в 21:11

А у меня почему-то не работает. При переходе не следующую страницу - выводит пустую страницу и друпал выдает ошибку.