&news()
という 2 つのオプションのパラメーターを取るメソッドがあります。$category
$slug
ニュース ページは、分類されていないすべてのニュース記事のページ分割されたリストを表示する必要があります (カテゴリ ページ ($category
セット付き) も同じことを行う必要がありますが、分類されたサブセットの場合)。
このため、2 番目の URI セグメントが の$category
パラメーターとして表示されているため、標準のページネーションが機能していないようですnews()
。おそらく、2 番目の URI セグメントが整数でない場合は $category パラメーターとして扱い、整数の場合はページネーション パラメーターとして扱いますか?
関連するコードは次のとおりです。
コントローラ
function news($category = null, $slug = null) {
if($category == null) { // Get the standard "news" page
// Define the pagination config
$config = array();
$config['base_url'] = base_url() . 'news/';
$config['total_rows'] =$this->post_model->count_posts('NWS');
$config['per_page'] = 3;
$config['uri_segment'] = 2;
$config['use_page_numbers'] = TRUE;
$this->load->library('pagination');
$this->pagination->initialize($config);
// Set the page info
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$data['newsPosts'] = $this->post_model->get_post_list_excerpt('NWS',$config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
$this->template->load('default', 'newsview', $data);
}
elseif($slug == null) {
// Get the page specific to the chosen category
}
}
URL を整理するために、ルーティングも使用しています。
ルート.php
$route['news'] = 'site/news';
$route['news/(:any)'] = 'site/news/$1';
$route['news/(:any)/(:any)'] = 'site/news/$1/$2';
私がやろうとしていることを回避する方法はありますか/それは可能ですか? 個別のメソッド/コントローラーを用意する必要は避けたい (news/categories/$category
可能であれば