2

私はCakephpアプリケーションに取り組んでいます。ここで必要なのは、Facebook スタイルのページネーションを作成することです。それでも、単純な並べ替えで Ajax ページネーションを使用しました。これで私のロジックは次のボタンを作成します。要素をレンダリングします。Cakephp 自体がページネーションを管理します。しかし、私の問題は、「更新」中に私に尋ねる特定の div(ID) にビューをレンダリングすることです。ドムの私のスタイルは...

<div class="fb_style" id='1'></div>
<div class="fb_style" id='2'></div>
<div class="fb_style" id='3'></div>
<div class="fb_style" id='4'></div>
<div class="fb_style" id='5'></div>
<div class="fb_style" id='6'></div>
<div id='more button'>MORE BUTTON(ACTUALLY PAGINATOR NEXT LINK)</div>

id=6 の横に div をレンダリングしたい、または .fb_style:last の横に言うことができます 私のページネーションのサンプル コード...特定の dom 要素に追加したいだけです。

$this->Paginator->_ajaxHelperClass = "Ajax";
$this->Paginator->Ajax = $this->Ajax;
$this->Paginator->options(array('update' => 'listID',
    'url' => array('controller' => 'poets', 'action' => 'index', $separator),
    'indicator' => 'loaderID'));

Jqueryでそれを行う場合、関数を記述することは非常に不器用であることを意味し、制限を手動で検証するよりも合計レコードを送信する必要があることを意味します。 ...またはその他のソリューションまたはガイドライン。

4

2 に答える 2

1

無限スクロールJQueryプラグインを使用しましたが、正常に機能しています。このjqueryプラグインは、コントローラーのメソッドにAjaxリクエストを送信するために使用できるカスタムの組み込みイベントを提供します。また、動作する場合は、cssをFacebookの無限スクロール機能のように変更できます。

これは、 CakePHPでの使用方法に役立つ別の投稿です。

于 2012-07-20T07:30:10.583 に答える
0

注文は ASC ですが、facebook と twitter は DESC を注文しますが、Twitter スタイルのページネーションを使用してください。

最初の結果から min_id を param として送信し、それを index() の条件で使用して、次のリクエストが結果の次のブロックを取得するようにします。

これは、新しいレコードがその間に追加された可能性があるため、ページ 2 を取得するよりも安全です。そのため、レコードが欠落しているか、重複している可能性があります (順序 DESC に変更する場合にのみ適用されます。ASC 順序の場合、ページ 2 を使用しても安全です)。

'update' => 'listID'

する必要があります

'update' => '#listID'
于 2012-07-31T09:47:37.723 に答える