Yii2中自帶分頁類實現分頁


1.首先寫控制器層

  先引用pagination類

      use yii\data\Pagination;

  寫自己的方法:

     function actionFenye(){
        $data = Field::find();  //Field為model層,在控制器剛開始use了field這個model,這兒可以直接寫Field,開頭大小寫都可以,為了規范,我寫的是大寫
        $pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '2']);    //實例化分頁類,帶上參數(總條數,每頁顯示條數)
        $model = $data->offset($pages->offset)->limit($pages->limit)->all();
        return $this->renderPartial('fenye',[
            'model' => $model,
            'pages' => $pages,
        ]);
    }

2.model層就是直接用../yii/frontend/web/index.php?r=gii 生成的model(詳細鏈接)

3.最后是顯示頁面

   <?php
     use yii\widgets\LinkPager;
   ?>

<?php foreach($model as $key=>$val){ ?>
 
        <?= $val->Id; ?>     //相當於  <?php  echo $val['Id'];  ?>
        <?= $val->Field; ?>  //相當於  <?php  echo $val['Field'];  ?>

<?php } ?>

<?=
LinkPager::widget([
      'pagination' => $pages,
    ]);
?>

 

劇終..................................................

最后說說本人在做的時候遇到的問題,希望能幫到大家:

 我做出來樣式怎么這么丑,人家的分頁頁碼都是自帶樣式的,之后發現,

當你在控制器層加上這個   $this->layout='main';(方法剛開始加),也就是引入了這個框架最原始的公共頭部,這個main.php在view/layouts/main.php ,然后在控制器渲染頁面的

代碼那 的renderPartial,改為 render, renderPartial是表示顯示 顯示頁面的時候不加框架自帶的公共頭部,  為什么要引入這個原始的公共頭部呢?? 是因為他這個頭部里面有我們分頁需要的樣式,引入后成這個樣子了:

 

這個時候就基本完美了,樣式也出來了,

可是我不想要她的公共頭部,太丑了,或者,我要定義自己的公共頭,但是我還要他的樣式,這個時候,你可以在這個顯示頁面查看源代碼,找找他的css樣式,

我查看源碼后,把它的css樣式粘貼到我的顯示頁面 

<link href="/yii/frontend/web/assets/76f2e072/css/bootstrap.css" rel="stylesheet">  

這樣就可以隨心所欲的改啦..(*^__^*)

   大功告成..

友情鏈接   http://www.cnblogs.com/laowenBlog

需要深度學習的鏈接: http://blog.csdn.net/m_422744746/article/details/51470052

            

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM