在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