在Yii框架下工作,我有一个页面加载并列出不同的部分。当然,这与renderPartial
几个不同的意见。其中一个部分接受一个数组并显示其中的项目列表。我需要做的是仅为本节分页,最好使用AJAX,因此我不会在页面选择时重新加载所有内容。Yii框架:部分视图分页
这是问题的第一部分。我研究过使用CActiveDataProvider
与CListView
,但是,问题在于我显示的数据与数据库无关。换句话说,没有条件等来创建数组,我只是有一堆$items
,就是这样。任何提示赞赏!
在Yii框架下工作,我有一个页面加载并列出不同的部分。当然,这与renderPartial
几个不同的意见。其中一个部分接受一个数组并显示其中的项目列表。我需要做的是仅为本节分页,最好使用AJAX,因此我不会在页面选择时重新加载所有内容。Yii框架:部分视图分页
这是问题的第一部分。我研究过使用CActiveDataProvider
与CListView
,但是,问题在于我显示的数据与数据库无关。换句话说,没有条件等来创建数组,我只是有一堆$items
,就是这样。任何提示赞赏!
可以使用CArrayDataProvider
实例作为dataProvider
为CListView
。它具有内置的分页支持,但您可能必须明确设置分页的currentPage
。
可以使用CLinkPager而不CGridView,有一个例子:
在控制器:
$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)); ?>
这里的问题是我没有标准。我只是有一个与数据库无关的$ items的数组,所以applyLimit部分不能为我工作。 – mmvsbg
我想弄清楚是否有可能使用CArrayDataProvider与常规数组,而不是与数据库相关的东西,因为它是在我的情况? – mmvsbg
是的。你有没有尝试过一些不起作用的东西? – topher
实际上有几件事情,但我太过于裹在代码中。我会清理它并重新开始,然后如果我还在挣扎,我会更新这个问题。谢谢! – mmvsbg