Класс Нумерации страниц (Pagination Class)
Класс нумерации страниц CodeIgniter очень прост для использования, и на 100% настраиваемый, принимая динамически переданные параметры или считывая их из хранимой конфигурации.
Если вам не знаком термин «пагинация», это обозначает ссылки, которые позволяют вам переходить от страницы к странице
Пример
Вот простой пример, показывающий вам как создать нумерацию страниц в одной из ваших функций контроллера:
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->library('pagination');
base_url Это основной URL к функции контроллера, содержащей нумерацию сраниц. В примере выше он указывает на контроллер Test и его функцию page. Помните, что если вы переписываете ваши URI, вы должны применять другую структуру.
total_rows Это число представляет суммарное количество строк результата, для которого вы создаете нумерацию страниц. Обычно это число строк, которое возвращает запрос на выборку всех строк из таблицы БД.
per_page Количество элементов, одновременно отображаемых на странице. В примере выше, вы показываете по 20 элементов.
Функция create_links() вернет пустую строку, если нумерации страниц нечего показывать.
Настройка нумерации страниц
Далее следует список всех доступных параметров, которые вы можете передать инициализирующей функции для настройки отображения.
$config['uri_segment'] = 3;
Функция нумерации страниц автоматически определяет, какой сегмент вашего URI содержит номер страницы. Если вам нужно что-то другое, вы можете уточнить это.
$config['num_links'] = 2;
Количество "цифровых" ссылок, которое будет отображаться до и после указанного номера страниц. Например, число 2 означает, что нужно поместить по две ссылки до и после, как в примере в самом верху этой страницы.
$config['use_page_numbers'] = TRUE;
По умолчанию сегменты URI используют стартовый индекс для элементов, для которых вы делаете нумерацию страниц. Если вы предпочитаете показывать актуальный номер страницы, установите этот параметр в TRUE.
$config['page_query_string'] = TRUE;
Добавление закрывающей верстки
Если вы хотите обернуть всю нумерацию страниц в некоторую верстку, вы можете сделать это двумя параметрами:
$config['full_tag_open'] = '<p>';
Открывающий тег, располагающийся слева от результата.
$config['full_tag_close'] = '</p>';
Закрывающий тег, располагающийся справа от результата.
Настройка первой ссылки
$config['first_link'] = 'Первая';
Текст, который должен отображаться в ссылке «Первая» слева. Если вы не хотите, чтобы эта ссылка отображалась, установите значение параметра в FALSE.
$config['first_tag_open'] = '<div>';
Открывающий тег для ссылки «Первая» .
$config['first_tag_close'] = '</div>';
Закрывающий тег для ссылки «Первая» .
Настройка последней ссылки
$config['last_link'] = 'Последняя';
Текст, который отборажается в ссылке «Последняя» справа. Если вы не хотите отображать эту ссылку, установите значение этого параметра в FALSE.
$config['last_tag_open'] = '<div>';
Открывающий тег для ссылки «Последняя» .
$config['last_tag_close'] = '</div>';
Закрывающий тег для ссылки «Последняя» .
Настройка ссылки «Далее»
$config['next_link'] = '>';
Текст, который будет отбражаться в ссылке «Далее» («Следующая страница»). Если вы не хотите отображать эту ссылку, установите значение этого параметра в FALSE.
$config['next_tag_open'] = '<div>';
Открывающий тег для ссылки «Далее» .
$config['next_tag_close'] = '</div>';
Закрывающий тег для ссылки «Далее» .
Настройка ссылки «Назад»
$config['prev_link'] = '<';
Текст, который вы хотите показывать в ссылке «Назад» ( «Предыдущая страница», «Ранее» ). Если вы не хотите показывать эту ссылку, установите значение параметра в FALSE.
$config['prev_tag_open'] = '<div>';
Открывающий тег для ссылки «Назад» .
$config['prev_tag_close'] = '</div>';
Закрывающий тег для ссылки «Назад» .
Настройка ссылки на текущую страницу
$config['cur_tag_open'] = '<b>';
Открывающий тег для ссылки на текущую страницу.
$config['cur_tag_close'] = '</b>';
Закрывающий тег для ссылки на текущую страницу.
Настройка ссылки с номером страницы
$config['num_tag_open'] = '<div>';
Открывающий тег.
$config['num_tag_close'] = '</div>';
Закрывающий тег.
Скрытие страниц
Если вы хотите, чтобы не отображались ссылки на конкретные страницы (например, вы хотите сделать «следующая» и «предудыщая»), вы можете подавить их вывод:
$config['display_pages'] = FALSE;
Пример:
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->library('pagination');