Spec-Zone.ru › CodeIgniter 3

Класс Pagination

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

  • Пример
    • Примечания
    • Установка настроек в файле конфигурации
  • Настройка Pagination
  • Добавление заключительной разметки
  • Настройка первой ссылки
  • Настройка последней ссылки
  • Настройка ссылки "Далее"
  • Настройка ссылки "Предыдущая"
  • Настройка ссылки "Текущая страница"
  • Настройка ссылки "Цифра"
  • Скрытие страниц
  • Добавление атрибутов к якорям
  • Отключение атрибута "rel"
  • Справочник по классу

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

« First  < 1 2 3 4 5 >  Last »

Пример

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

$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(), как показано выше. Хотя можно настроить около двадцати параметров, по меньшей мере необходимы три показанных. Вот описание того, что представляют эти параметры:

  • base_url Это полный URL-адрес контроллера/функции контроллера, содержащего ваш Pagination. В примере выше он указывает на контроллер под названием "Test" и функцию под названием "page". Имейте в виду, что вы можете изменить маршрутизацию вашего URI, если вам нужна другая структура.
  • total_rows Это число представляет общее количество строк в наборе результатов, для которого вы создаёте Pagination. Как правило, это число будет общим числом строк, возвращённых запросом к базе данных.
  • per_page Число элементов, которые вы хотите отобразить на странице. В приведённом выше примере вы будете отображать 20 элементов на странице.

Метод create_links() возвращает пустую строку, когда не нужно отображать Pagination.

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

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

Настройка Pagination

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

$config[‘uri_segment’] = 3;

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

$config[‘num_links’] = 2;

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

$config[‘use_page_numbers’] = TRUE;

По умолчанию сегмент URI будет использовать начальный индекс для элементов, которые вы постраничиваете. Если вы предпочитаете отображать фактический номер страницы, установите это значение в TRUE.

$config[‘page_query_string’] = TRUE;

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

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

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

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

Обратите внимание, что "per_page" - это параметр запроса по умолчанию, но его можно настроить с помощью $config['query_string_segment'] = 'your_string'

$config[‘reuse_query_string’] = FALSE;

По умолчанию ваши аргументы строки запроса (не имеющие отношения к другим параметрам строки запроса) будут проигнорированы. Установка этого параметра в TRUE добавит существующие аргументы строки запроса обратно в URL после сегмента URI и перед суффиксом:

http://example.com/index.php/test/page/20?query=search%term

Это помогает вам смешивать обычные URI-сегменты и аргументы строки запроса, что до версии 3.0 было невозможно.

$config[‘prefix’] = ‘’;

Пользовательский префикс, добавляемый к пути. Значение префикса будет находиться непосредственно перед сегментом смещения.

$config[‘suffix’] = ‘’;

Пользовательский суффикс, добавляемый к пути. Значение суффикса будет находиться непосредственно после сегмента смещения.

$config[‘use_global_url_suffix’] = FALSE;

При установке в TRUE, он перезапишет значение $config['suffix'] и вместо этого установит значение, которое у вас указано в $config['url_suffix'] в вашем файле application/config/config.php.

Добавление заключительной разметки

Если вы хотите заключить всю Pagination в какую-либо разметку, вы можете сделать это с помощью этих двух настроек:

$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[‘first_url’] = ‘’;

Альтернативный URL для использования ссылки "первая страница".

Настройка последней ссылки

$config[‘last_link’] = ‘Последний’;

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

// Produces: class="myclass"
$config['attributes'] = array('class' => 'myclass');

Примечание

Использование старого метода установки классов через "anchor_class" устарело.

Отключение атрибута "rel"

По умолчанию атрибут rel динамически генерируется и добавляется к соответствующим якорям. Если по какой-то причине вы хотите его отключить, вы можете передать boolean FALSE в качестве обычного атрибута

$config['attributes']['rel'] = FALSE;

Справочник по классу

class CI_Pagination
initialize([$params = array()])
Параметры:
  • $params (array) – Параметры конфигурации
Возвращает:

Экземпляр CI_Pagination (цепочка методов)

Тип возвращаемого значения:

CI_Pagination

Инициализирует класс Pagination с вашими предпочтениями.

create_links()
Возвращает: HTML-форматированная навигация по страницам
Тип возвращаемого значения: string

Возвращает панель «навигации по страницам», содержащую сгенерированные ссылки, или пустую строку, если есть только одна страница.

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/libraries/pagination.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API