Yii-列表- 定义分页,分页方法
方法一:控制器定义
视图定义
function actionIndex(){ $criteria = new CDbCriteria(); $count=Article::model()->count($criteria); $pages=new CPagination($count); // 返回前一页 $pages->pageSize=10; $pages->applyLimit($criteria); $models = Post::model()->findAll($criteria); $this->render("index", array( "models" => $models, "pages" => $pages )); }
视图定义
<?php foreach($models as $model): ?> // 显示一个模型 <?php endforeach; ?> // 显示分页 <?php $this->widget("CLinkPager", array( "pages" => $pages, )) ?>
方法二:控制器定义
public function actionIndex() { $dataProvider=new CActiveDataProvider("News",array( "criteria"=>array( "condition"=>"status=1", "order"=>"create_time DESC", "with"=>array("author"), ), "pagination"=>array( "pageSize"=>20, ), )); $this->render("index",array( "dataProvider"=>$dataProvider, )); }视图文件
<?php $this->widget("zii.widgets.CListView", array( "dataProvider"=>$dataProvider, "itemView"=>"_view", )); ?>
方法三:视图文件
<?php $this->widget("zii.widgets.grid.CGridView", array( "id"=>"news-grid", "dataProvider"=>$model->search(), "filter"=>$model, "template"=>"{items}{summary}{pager}", "pager"=>array( "class"=>"CLinkPager", "header"=>"分页:", "prevPageLabel"=>"上一页", "nextPageLabel"=>"下一页", ), "summaryText"=>"页数:{pages}/{page}页", "columns"=>array( "id", array("name"=>"title", "htmlOptions"=>array("width"=>"20%"), "value"=>"mb_substr($data->title,0,10,"utf-8")", ), array("name"=>"content", "htmlOptions"=>array("width"=>"20%"), "value"=>"mb_substr(strip_tags($data->content),0,10,"utf-8")", ), array("name"=>"type", "value"=>"News::model()->getNewsType($data->type)", ), "user", array("name"=>"status", "value"=>"News::model()->getNewsStatus($data->status)", ), array( "class"=>"CButtonColumn", ), ), ));
数据模型类
public function search() { $criteria=new CDbCriteria; $criteria->compare("id",$this->id); $criteria->compare("title",$this->title,true); $criteria->compare("content",$this->content,true); $criteria->compare("type",$this->type); $criteria->compare("user",$this->user,true); $criteria->compare("status",$this->status); $criteria->compare("create_data",$this->create_data,true); return new CActiveDataProvider($this, array( "criteria"=>$criteria, "pagination"=>array( "pageSize"=>50, ), )); }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: Yii-视图- 自定义分页实现