我现在用实现一个ajax动态加载产品列表(带产品图片), 并且需要做分页,
不知道在yii下的最佳实现方式是什么?
大家来说说
我现在用实现一个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动态载入, 而之后的可以动态载入.