У меня есть страница блога сообщений, которую я пытаюсь разбивать на страницы с помощью CodeIgniter. Нумерация и ограничение, похоже, работают нормально, за исключением того, что я продолжаю получать 404, когда пытаюсь перейти на другую страницу.CodeIgniter pagination не будет проходить первую страницу
Странная вещь - обычные виновники, вызывающие эту проблему, являются правильными. BaseUrl и uri_segment.
Мой контроллер выглядит следующим образом:
$config = array();
$config["base_url"] = $this->config->site_url("/blog");
$config["total_rows"] = $this->blog_model->count();
$config["per_page"] = 2;
$config["uri_segment"] = 2;
$config["num_links"] = round($config["total_rows"]/$config["per_page"]);
$config['use_page_numbers'] = TRUE;
$this->pagination->initialize($config);
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$this->load->view('blog', array(
'user' => $this->user,
'blog' => $this->blog_model->loadPosts($config['per_page'], $page),
'links' => $this->pagination->create_links(),
'footer' => $this->blog_model->loadFooter()
));
А потом в моей модели я захватывая посты
public function loadPosts($limit, $start)
{
$this->db->limit($limit, $start);
$this->db->order_by("date", "desc");
//this loads the contact info
$query = $this->db->get('entries');
return $query->result();
}
Мой полный URL является www.mysite.com/blog
, а затем с нумерацией страниц появляется, как www.mysite.com/blog/2
.
Для base_Url Я также пробовал base_url() . "/blog";
.
И я попытался установить uri_segment на 1 и 3, но ничего не работает.
Как я пытался играть с маршрутизацией и добавил только, чтобы увидеть, если он будет делать что-нибудь:
$route['blog/(:num)'] = 'blog/$1';
Вам не нужно использовать uri-> сегмент. Задайте параметр в своей функции контроллера, это займет значение вашего сегмента. например ($ page = 0). Никакой ошибки невозможно. Кроме того, удалите правило маршрута, поскольку оно ничего не делает и может быть сложным позже. – AdrienXL
@AdrienXL Я был в состоянии попробовать что-либо с маршрутом. Я уже отключил его, как только увидел, что ничего не сделал. Мне всегда приходилось устанавливать uri_segment, и я читал много статей, которые утверждают, что разбиение на страницы не будет работать вообще. Как я могу настроить его в контроллере, не используя его? – zazvorniki