[英]Yii Framework: Pagination in partial view
在Yii框架下工作,我有一个页面可以加载并列出不同的部分。 当然,这是通过renderPartial
一些不同的视图完成的。 这些部分之一采用一个数组并显示其中的项目列表。 我需要做的是仅对该部分进行分页,最好使用AJAX,这样我就不会在选择页面时重新加载所有内容。
那是问题的第一部分。 我已经研究过将CActiveDataProvider
与CListView
CActiveDataProvider
使用,但是,问题在于我正在显示来自与数据库无关的数组中的信息。 换句话说,没有条件等等来创建数组,我只有一堆$items
,仅此而已。 任何提示表示赞赏!
您可以将CArrayDataProvider
实例用作CListView
的dataProvider
。 它具有内置的分页支持,尽管您可能必须显式设置分页的currentPage
。
您可以在不使用CGridView的情况下使用CLinkPager,有一个示例:
在控制器中:
$criteria = new CDbCriteria;
$criteria -> order = 'date';
$pages = new CPagination(Posts::model() -> count());
$pages -> pageSize = 50;
$pages -> applyLimit($criteria);
$posts= Posts::model() -> findAll($criteria);
$this -> controller -> render('list', array('posts' => $posts, 'pages' => $pages));
鉴于:
<?php $this->widget('CLinkPager',array('pages'=>$pages, "cssFile" => false)); ?>
<ul>
<?php foreach($posts as $x => $post): ?>
<li><?php echo $post -> title ?></li>
<?php endforeach; ?>
</ul>
<?php $this->widget('CLinkPager',array('pages'=>$pages, "cssFile" => false)); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.