4

ここにある無限のページネーション jquery プラグイン ( https://github.com/jney/jquery.pageless ) を私の codeigniter プロジェクトに実装しようとしています。

入力したjqueryコードは、デモページの内容と同じです

$('#results').pageless({ totalPages: 10
, url: '/theurl/index'
, loaderMsg: 'Loading more results'
});

私のコードイグナイターコントローラーにあるコードは次のとおりです

    $config['base_url'] = base_url() . 'theurl/index';
    $config['total_rows'] = $this->model->record_count();
    $config['per_page'] = 20;
    $config['uri_segment'] = 3;

    // Init the config
    $this->pagination->initialize( $config );

    // Create pagination
    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data['results'] = $this->onyafeet->fetch_results($config['per_page'], $page);
    $data['links'] = $this->pagination->create_links();

    // Load the view and pass through all the data
    $this->load->view('theurl/index', $data);

コードを実行してページの一番下に到達すると、機能しますが、結果用に作成された新しい div に入力ページも読み込まれます。

どんな助けでも大歓迎です。

乾杯

4

1 に答える 1

2

おそらく、結果を部分ビューにロードする必要があります。そうしないと、ページ全体を再度ロードすることになります。すべてのデータをロードする部分ビューを作成してから、部分ビューをメイン ページにロードします。

$config['base_url'] = base_url() . 'theurl/index';
$config['total_rows'] = $this->model->record_count();
$config['per_page'] = 20;
$config['uri_segment'] = 3;

// Init the config
$this->pagination->initialize( $config );

// Create pagination
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['results'] = $this->onyafeet->fetch_results($config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
// AJAX load: 
if ($this->input->is_ajax_request) {
    $this->load->view('theurl/partial/ajax_partial',$data);
}
else {
    // Load the view and pass through all the data
    $this->load->view('theurl/index', $data);
}

このアプローチではうまくいくと思います。部分ビューには、表示したい適切な部分、非同期にロードするすべてのコンテンツを含む div のみが必要です。

于 2012-10-23T07:39:20.767 に答える