Класс Pagination
Класс Pagination очень прост в использовании, и на 100% настраиваемый, динамически или посредством сохраненных настроек.
Если Вы не знакомы с термином "pagination" (нумерация страниц, разбивка на страницы), то это набор ссылок позволяющих перемещаться по страницам, например:
« В начало 1 2 3 4 5 В конец »
Пример
На этом примере показывается, как можно создать нумерацию страниц в одном из ваших контроллеров:
$this->load->library('pagination');
$config['base_url'] = 'http://www.your-site.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 — это полный путь к классу контроллера/функции содержащей Вашу нумерацию страниц. В примере выше контроллер «Test», а функция «page». Имейте ввиду, что можно изменить URI, если вам необходима другая структура.
- total_rows — это общее число страниц, которые будут в результате. Обычно это количество записей, возвращаемых запросом к базе данных.
- per_page — это количество элементов, которое вы намерены показать на странице. В примере выше, будет выводится двадцать элементов на страницу.
Функция create_links() вернет пустую строку, когда не будет необходимости показывать нумерацию.
Настройка параметров в файле конфигурации
Если вас не устраивает предыдущий метод, то вы можете поместить все настройки в конфигурационный файл. Для этого необходимо создать файл с именем pagination.php и определить внутри массив $config. Далее сохраните файл в каталоге config/pagination.php и он будет загружаться автоматически. Теперь вам НЕ надо писать $this->pagination->initialize.
Настройка нумерации страниц
Ниже перечислен полный список параметров, которые вы можете передать в функцию инициализации.
$config['uri_segment'] = 3;
Функция нумерации страниц автоматически определяет, какой сегмент URI содержит номер страницы. Если Вам необходимо явно указать сегмент, можно задать его этим параметром.
$config['num_links'] = 2;
Количество ссылок, которое будет перед и после номера выбранной страницы. Например, при указании этого параметра равным 2, будет по два числа с каждой стороны, как в примере выше.
Добавление элементов разметки
Если вы хотите заключить блок нумерации страниц в другой элемент разметки, то можете сделать это с помощью следующих двух параметров:
$config['full_tag_open'] = '<p>';
Открывающий тег.
$config['full_tag_close'] = '</p>';
Закрывающий тег.
Настройка ссылки, указывающей на первую страницу
$config['first_link'] = 'В начало';
С помошью этого параметра задается текст ссылки, указывающей на первую страницу. Например, "На первую страницу".
$config['first_tag_open'] = '<div>';
Открывающий тег.
$config['first_tag_close'] = '</div>';
Закрывающий тег.
Настройка ссылки, указывающей на последнюю страницу
$config['last_link'] = 'Last';
С помошью этого параметра задается текст ссылки, указывающей на последнюю страницу. Например, "На последнюю страницу".
$config['last_tag_open'] = '<div>';
Открывающий тег.
$config['last_tag_close'] = '</div>';
Закрывающий тег.
Настройка ссылки, указывающей на следующую страницу
$config['next_link'] = 'Далее';
С помошью этого параметра задается текст ссылки, указывающей на следующую страницу. Например, "Далее".
$config['next_tag_open'] = '<div>';
Открывающий тег.
$config['next_tag_close'] = '</div>';
Закрывающий тег.
Настройка ссылки, указывающей на предыдущую страницу
$config['prev_link'] = 'Назад';
С помошью этого параметра задается текст ссылки, указывающей на предыдущую страницу. Например, "Назад".
$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>';
Закрывающий тег.