2017-06-23 25 views
0

我可以在一個頁面中顯示博客,但我想每個頁面只顯示5個博客,並顯示下一個5個博客點擊下一頁按鈕等等。如何限制一頁中顯示的博客數量。 Yii 1,PHP

代碼在視圖文件:

<?php 
if (is_array($blogArticles) && count($blogArticles) > 0): 
foreach ($blogArticles as $key => $blog_article): 
?> 

<h3> 
<a href="#" style="color: black"> 
<?php print $blog_article['title']; ?> 
</h3><br/> 
Author : <?php print $blog_article['author']; ?> 
<?php print $blog_article['published_date']; ?> 
<a href="<?php print Yii::app()->createUrl("//site/blogsingle" , array("id"=>$blog_article['id'])) ?>" class="btn btn-info" role="button">Read More</a> 

我還需要低於5個博客選項重定向到下一個頁面。 例如:< 1> < 2> 2 < 3>

+0

檢查此https://stackoverflow.com/questions/22145259/simple-pagination-for-foreach-loop –

+0

不,不要這樣做。再次發明圓圈是愚蠢的想法。他正在使用框架構建類似的功能。 – Yupik

回答

0

Yii - ListView - 定義CActiveDataProvider,提供商變化pager內 - >pageSize〜5,通過CActiveDataProvider查看和使用ListView以正確地顯示它。喜歡的東西:

public function searchPosts() { 

    $criteria = new CDbCriteria(); 

    return new CActiveDataProvider('MODELNAME', 
       array(
         'criteria' => $criteria, 
       ) 
      ); 

} 

控制器:

$model = new Post(); 
$dataProvider = $model->searchPosts(); 

return $this->render('view', ['dataProvider' => $dataProvider]); 

和視圖代碼:

$this->widget('zii.widgets.CListView', array(
     'dataProvider'=>$dataProvider, 
      'itemView'=>'_view', 
)); 

不要忘記_view文件,這是單個項目視圖。

相關問題