CodeIgniter User Guide Version 2.0.0


Класс Pagination (нумерация страниц)

Класс Pagination очень прост в использовании, и на 100% настраивается, как динамически, так и через сохраненные настройки.

Если вы не знакомы с термином "pagination", это относится к ссылкам, с которыми можно перемещаться от страницы к странице, вроде этого:

« First  < 1 2 3 4 5 >  Last »

Пример

Вот простой пример, показывающий как создать нумерацию страниц в функции одного из ваших контроллеров:

$this->load->library('pagination');

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = '200';
$config['per_page'] = '20';

$this->pagination->initialize($config);

echo $this->pagination->create_links();

Примечания:

Массив $config содержит ваши конфигурационные переменные. Он передается функции $this->pagination->initialize, как показано выше. Хотя есть около 20 элементов, которые вы можете настраивать, показан необходимый минимум из трех. Вот описание того, что они из себя представляют:

Функция create_links() возвращает пустую строку, если в нумерации страниц нет необходимости (total_rows < per_page) .

Установка параметров в файле конфигурации

Если вы не хотите устанавливать параметры, как в примере выше, вы можете поместить их в файл конфигурации. Просто создайте новый файл с названием pagination.php и добавьте в него массив $config. Потом сохраните файл в config/pagination.php, и он будет использован автоматически. Вы НЕ должны использовать функцию $this->pagination->initialize, если вы сохранили ваши параметры в конфигурационном файле.

Настройка нумерации страниц

Далее следует список со всеми настройками, которые вы можете передать инициирующей функции для настройки внешнего вида.

$config['uri_segment'] = 3;

Функция нумерации страниц автоматически определяет, какой сегмент вашего URI содержит номер страницы. Также вы можете явно указать его.

$config['num_links'] = 2;

Количество ссылок с цифрами, которое должно отображаться до и после номера выбранной страницы. Например, цифра 2 — разместит две ссылки с каждой стороны, как в примере вверху этой страницы.

$config['page_query_string'] = TRUE

По умолчанию, библиотека нумерации страниц подразумевает, что вы используете сегменты URI, и делает для ваших ссылок что-то вроде

http://example.com/index.php/test/page/20

Если настройка $config['enable_query_strings'] установлена в TRUE, ваши ссылки будут автоматически переписаны с использованием Query Strings. Эта опция может быть также установлена явно. Если установлено $config['page_query_string'] = TRUE, ссылки пагинации станут такими:

http://example.com/index.php?c=test&m=page&per_page=20

Обратите внимание, что "per_page" — это переданная по умолчанию строка запроса, которую можно конфигурировать, используя $config['query_string_segment'] = 'ваша_строка'

Добавление разметки

Если вы хотите изменить разметку для нумерации страниц, используйте эти два параметра:

$config['full_tag_open'] = '<p>';

Открывающий тег размещается с левой стороны от всего вывода.

$config['full_tag_close'] = '</p>';

Закрывающий тег размещается справа от всего вывода.

Настройка ссылки "Начало"

$config['first_link'] = 'First';

Текст, который будет показан в ссылке "Начало", слева. Если вы не хотите, чтобы эта ссылка отображалась, установите значение параметра в FALSE.

$config['first_tag_open'] = '<div>';

Открывающий тег для ссылки "Начало".

$config['first_tag_close'] = '</div>';

Закрывающий тег для ссылки "Начало".

Настройка ссылки "Конец"

$config['last_link'] = 'Last';

Текст, который будет показан в ссылке "Конец". Если вы не хотите, чтобы эта ссылка отображалась, установите значение параметра в FALSE.

$config['last_tag_open'] = '<div>';

Открывающий тег для ссылки "Конец".

$config['last_tag_close'] = '</div>';

Закрывающий тег для ссылки "Конец".

Настройка ссылки "Следующий"

$config['next_link'] = '&gt;';

Текст, который будет показан в ссылке "Следующий". Если вы не хотите, чтобы эта ссылка отображалась, установите значение параметра в FALSE.

$config['next_tag_open'] = '<div>';

Открывающий тег для ссылки "Следующий".

$config['next_tag_close'] = '</div>';

Закрывающий тег для ссылки "Следующий".

Настройка ссылки "Предыдущий"

$config['prev_link'] = '&lt;';

Текст, который будет показан в ссылке "Предыдущий". Если вы не хотите, чтобы эта ссылка отображалась, установите значение параметра в 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;

Добавление класса каждой ссылке

Если вы хотите добавить атрибут класса для каждой ссылки, отображаемой классом Pagination, вы можете использовать элемент конфигурации "anchor_class" .