yii下面如何做ajax动态载入及分页?

我现在用实现一个ajax动态加载产品列表(带产品图片), 并且需要做分页,

不知道在yii下的最佳实现方式是什么?

大家来说说

我现在的做法, 主页面处理注册ajax代码和分页条的显示, ajax页面需要显示出某个分页下的商品,

这里有太多的相同的数据库访问, 因为ajax页面下用Clinkpager默认的controller是ajax的controller,所以只能把分页移到主页面去了,

不知道是否有更加好的方式, 能避免多次查询?

用CRUD生成的<controller>/index页面的CListView就有ajax分页的功能:

比如你的表名及model名称为News

控制器代码:


public function actionIndex()

{

	$dataProvider=new CActiveDataProvider('News');

	$this->render('index',array(

		'dataProvider'=>$dataProvider,

	));

}

视图代码:

index.php


<?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$dataProvider,

	'itemView'=>'_view',

)); ?>

_view.php


<div class="view">


	<b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>

	<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>

	<br />


	<b><?php echo CHtml::encode($data->getAttributeLabel('content')); ?>:</b>

	<?php echo CHtml::encode($data->content); ?>

	<br />

</div>

我可能理解错了,你的一个页面是不是有两层分页?

我现在的做法是想异步加载产品, 因为产品可能有很多图片, 怕影响主页面的载入速度

所以想用ajax来加载产品,

@巡洋舰

你的做法我了解, 他的第一页不会ajax动态载入, 而之后的可以动态载入.