Предлагаю решение.
У вас есть какие-то данные из базы данных,из файла либо другого источника.
В данном примере мы рассмотрим работу с массивом таких данных.
Задача - Вывести данные с пагинацией и выводом определенного кол-ва данных на каждой странице пагинатора
Решение
Используем функцию theme_pager()
$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)));
Вложение | Размер |
---|---|
images.jpeg | 14.48 КБ |
iq1jc.png | 8.92 КБ |
Комментарии
dashiwa чота на первой кнопке зависло, вторая и остальные не нажимаются.
Картинки очень оживляют
А у меня почему-то не работает. При переходе не следующую страницу - выводит пустую страницу и друпал выдает ошибку.