0 レビュー
1 回答
php-Active Recordを使用したYiiの無限(無限)スクロール
無限スクロールメカニズムを開発する必要があります-ajaxを使用してDB(アクティブレコード)からデータをフェッチします。現在、私のプロジェクトでは、ビューでCPaginationClassとWidgetLinkPagerを使用してページネーションを行っています。 私のコントローラー/モデル:
$count = $this->count($criteria);
$pages = new CPagination($count);
$pages->pageSize = $per_page;
$pages->applyLimit($criteria);
$cars = $this->findAll($criteria);
return array(
'cars' => $cars,
'pages' => $pages,
'count' => $count,
);
マイビュー:
<? $this->widget('WidgetLinkPager', array(
'pages' => $pages,
'perpageOptions' => $perpageOptions,
'objectsCount' => intval($searchResultCount),));
?>
私の質問は、CPaginationクラスで無限スクロールとajaxを実装するにはどうすればよいですか?サーバー上でデータをレンダリングする必要があります-現在は機能しています。そして、私はこのアクションにajaxを通過する必要があるURLにたくさんのParamsを持っています。 javascriptでURLから取得し、ajaxを使用して渡す必要があります。このパラメータは、検索条件を形成する必要があります。 CListViewウィジェットの使用を考えていますが、DataProviderオブジェクトが必要です。
よろしくお願いします。 英語でごめんなさい。
わからない
0
レビュー
答え :
解決策:
これを可能にするyiinfinite-scrollという拡張機能があります!
こちらのページの例を次に示します:
コントローラー:
class PostController extends Controller
{
public function actionIndex()
{
$criteria = new CDbCriteria;
$total = Post::model()->count();
$pages = new CPagination($total);
$pages->pageSize = 20;
$pages->applyLimit($criteria);
$posts = Post::model()->findAll($criteria);
$this->render('index', array(
'posts' => $posts,
'pages' => $pages,
));
}
}
そしてビュー:
$this->widget('ext.yiinfinite-scroll.YiinfiniteScroller', array(
'itemSelector' => 'div.post',
'pages' => $pages,
));
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。