私は複数の Codeigniter プロジェクトで働いていましたが、フィルターや順序を失うことなく検索をページ分割するこの方法を見つけました。
次の方法で、ページネーション リンクの接尾辞を定義できます。
$config['suffix'] = YOUR_SUFFIX
例:
URL : http://www.test_store.com/products/index/search/foo/order/low_price
// Parsing the URI
$uri = $this->uri->uri_to_assoc(3);
$page = !empty($uri['page']) ? $uri['page'] : 1;
$order = !empty($uri['order']) ? $uri['order'] : false;
$search = !empty($uri['search']) ? rawurldecode($uri['search']) : false;
// Search paginated
$this->Product->limit = $per_page;
$this->Product->offset = ($page - 1) * $per_page;
$this->Product->order = $order;
$this->Product->search = $search;
$products = $this->Product->get_all();
// Pagination config
$config['base_url'] = site_url('products/index/page');
$config['total_rows'] = $this->Product->count_all();
$config['uri_segment'] = 4;
$config['num_links'] = 5;
$config['use_page_numbers'] = TRUE;
$config['per_page'] = $per_page;
// Add a suffix to pagination links (The key 'suffix' isn't documented apparently)
unset($uri['page']); // Don't needed
$config['suffix'] = !empty($uri) ? '/'. $this->uri->assoc_to_uri($uri) : '';
$this->pagination->initialize($config);
$pagination = $this->pagination->create_links();
修正承ります!
PD: 私はアルゼンチン人で、英語力は少し劣っています