CodeIgniter маршруты и нумерация страниц, добавляя «/ page /» ко всем ссылкам - PullRequest
3 голосов
/ 25 января 2011

Я реализовал нумерацию страниц следующим образом:

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

$perpage=10;
$config['base_url'] = site_url().'news/page';
$config['total_rows'] = $this->news_model->getnews(array('count' => true));
$config['per_page'] = $perpage;
$config['uri_segment'] = 3;
$config['num_links'] = 8;

$news = $this->news_model->getnews(array('limit' => $perpage,'offset'=>$offset));

$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();

$data['news'] = $news;
$data['page'] = "news";

$this->load->view('index', $data);

Я также использую следующие маршруты:

$route["news"] = "news/news_list";
$route["news/page"] = "news/news_list";
$route["news/page/(:num)"] = "news/news_list/$1";
$route["news/detail/(:any)"] = "news/news_detail/$1";

Проблема, с которой я сталкиваюсь, заключается в том, что, хотянумерация страниц работает хорошо, когда я перехожу на вторую страницу или любую другую страницу после нажатия на ссылки нумерации страниц - все мои другие ссылки на этой странице помечаются /page/ перед ними, как -> /page/detail/aaaaaa, так что мой маршрут$route["news/detail/(:any)"] = "news/news_detail/$1"; не может идентифицировать его как подробную ссылку.

Почему /page/ добавляется ко всем ссылкам?Нужны ли какие-либо маршруты для пагинации?

Ответы [ 2 ]

2 голосов
/ 26 января 2011

Ваш $config['base_url'] равен news/page, поэтому /page добавляется ко всем вашим ссылкам.

Я не думаю, что вам нужны эти маршруты для нумерации страниц, но если вы хотите их использовать, вы должны использовать эти маршруты в $config['base_url'].

0 голосов
/ 17 декабря 2015
$route["news/page/(:num)"] = "news/news_list/$2";

$route["news/detail/(:any)"] = "news/news_detail/$1";
...