0

このように、いくつかの URI 変数を使用してテーブルの並べ替えを処理しています

.../page/7/sortby/serial_number/orderby/desc

ご覧のとおり、組み込みの CI ページネーション ライブラリも使用しています。現在の問題は、 で作成されたリンクが$this->pagination->create_links();URI から並べ替え変数を取り除き、ページ間でこれらの並べ替えオプションを維持することを困難にしていることです。

sortby/foo/orderby/barこれらの変数を、ページネーション ライブラリによって作成されたリンクの URI に追加するにはどうすればよいですか?

4

3 に答える 3

1

オプションを使用できますbase_url。ページ番号セグメントは最後にする必要があります。少し面倒ですが、一番簡単な方法だと思います。

// Get the current url segments
$segments = $this->uri->uri_to_assoc();

// Unset the "page" segment so it's not there twice
$segments['page'] = null;

// Put the uri back together
$uri = $this->uri->assoc_to_uri($segmenmts);

$config['base_url'] = 'controller/method/'.$uri.'/page/';
// other config here

$this->pagination->initialize($config); 
于 2013-06-05T17:24:23.147 に答える
1

私は ejfrancis の答えを使用しますが...

なんらかの理由でユーザーが URL のページ変数に数値または負の数値を入力しない場合、次のように $config['uri_segment'] を設定する前に検証を行うことをお勧めします。

    $totalseg = $this->uri->segment($totalseg)>0 && 
           is_numeric($this->uri->segment($totalseg))?
                        $totalseg : NULL;

私はそれが役立つことを願っています!

于 2014-05-07T13:37:10.860 に答える