Проблема с идентификацией кода
Я использую codeigniter и его класс разбиения на страницы. Он отлично работает и выглядит примерно так:
"Первый < 1 2 3 4 5 > Последняя"
Вот мой код:
$this->load->library('pagination');
$config['base_url'] = base_url().'controlpanel/';
$config['first_link'] = 'First';
$config['total_rows'] = $count;
$config['per_page'] = '3';
$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();
$this->load->view('controlpanel', $data);
У меня это на моих маршрутах:
$route['controlpanel/(:num)'] = "controlpanel/index/$1";
Однако, когда я получаю другую страницу, т.е. controlpanel/3
- номер 1 всегда полужирный - он должен измениться до 2 или 3 и т.д.!
Почему это не так?
Когда я меняю значение $config['base_url']
на base_url().'controlpanel/page'
, тогда правильная разбивка страницы выполняется с помощью смещения правильного номера, но ссылка 1 указывает на URL controlpanel/page
, которая для меня является неправильной страницей, поскольку база просто controlpanel
.
Спасибо всем за любую помощь.
Ответы
Ответ 1
Класс pagination должен проверить второй параметр, а не третий (по умолчанию).
Добавьте это в конфигурационный массив, чтобы изменить это:
$config['uri_segment'] = '2';
Это ничего не изменит, но будет полезно при создании требуемого URL.
измените это:
$config['base_url'] = base_url().'controlpanel/';
:
$config['base_url'] = site_url('controlpanel');
Ответ 2
Также не забудьте проверить..
$ inboxMessageCount это значение, установленное с контроллера
$config ['total_rows'] = $inboxMessageCount;
Если это значение установлено, меньше предельного значения, то разбиение на страницы не будет отображаться.
Ответ 3
Также поместите эту строку
$config['uri_segment'] = 3;
Ответ 4
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['first_url'] = site_url('your controller url');
поместите $config['first_url']
, чтобы сделать работу с вашим первым тегом URL