一、分页类使用

1、在控制器中

// 实例化
$criteria = new CDbCriteria();
$articleModel = Article::model(); // 分页
$total = $articleModel->count($criteria); //总记录数
$page = new CPagination($total); //实例化分页类
$page->pageSize = 3; //每页3条
$page->applyLimit($criteria); //截取记录 $articleInfo = $articleModel->findAll($criteria); $this->render('index', array('articleInfo' => $articleInfo, 'page' => $page)); //渲染视图,分配变量

  

2、在视图中

<?php
$this->widget('CLinkPager', array( 'header' => '', //前端页面上本行开头的提示信息,默认为“Go to page:”
'firstPageLabel' => '首页',
'lastPageLabel' => '末页',
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'pages' => $page,
'maxButtonCount' => 5 // 最多显示5个页码按钮
));
?>

二、关联模型

在模型的 relations() 方法中设置要关联的表。

/**
* 关联category模型
* @return [type] [description]
*/
public function relations(){
return array(
//主表中该模型名 => array(关联关系, 关联副表,关联字段(主表))
'category' => array(self::BELONGS_TO, 'category', 'cid')
);
}

三、权限验证

给特定控制器设置操作权限,只需给该控制器添加两个方法:filters()和accessRules()

/**
* 过滤器
* @return [type] [description]
*/
public function filters() {
return array(
//访问控制,可以通过+ -来控制哪些方法是否需要参与过滤
'accessControl - index' //index无需验证
);
} /**
* 访问规则
* @return [type] [description]
*/
public function accessRules() {
return array(
array( //允许所有用户访问index操作
'allow',
'actions' => array('index'),
'users' => array('*') // * 表示所有用户, @ 表示登录用户, ? 表示来宾用户
),
array( //允许通过验证的用户访问index, add操作
'allow',
'actions' => array('index', 'add'),
'users' => array('@')
),
array( //允许管理员admin执行删除操作
'allow',
'actions' => array('del'),
'users' => array('admin')
),
array( //拒绝网站编辑员执行删除操作
'deny',
'acionts' => array('del'),
'users' => array('editor')
)
);
}

四、默认跳转页面

有了权限验证,那么就需要在没有权限时访问的默认跳转页面,

在main.php里,

'components'=>array(

  ...

  'user'=>array(
    // enable cookie-based authentication
    'allowAutoLogin'=>true,     // 默认跳转到后台登录页
    'loginUrl' => array('admin/login/index')
  ),   ... ),

Yii 1.1.17 五、分页类、关联模型、权限验证与默认页面跳转的更多相关文章

  1. 将php分页类YII绑定框架,就需要改变风格的基础

    分页类http://blog.csdn.net/buyingfei8888/article/details/40260127 在内部组件分页类 文件名和一致 组件是在什么地方被载入进来的?在主配置文件 ...

  2. YII 1.0 分页类

    在控制器中 方法1 $criteria = new CDbCriteria();//AR的另一种写法 $model = Article::model(); $total = $model->co ...

  3. Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数

    这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...

  4. PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )

    /* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...

  5. PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )

    /* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...

  6. php--yii框架中的ajax分页与yii框架自带的分页

    要想使用Yii分页类 第一步:在控制器层加载分页类 use yii\data\Pagination; 第二步: 使用model层查询数据,并用分分页,限制每页的显示条数 $data = Zhao::f ...

  7. Yii2中自带分页类实现分页

    1.首先写控制器层 先引用pagination类 use yii\data\Pagination; 写自己的方法: function actionFenye(){        $data = Fie ...

  8. ***CI分页:为CodeIgniter写的分页类

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  9. PHP面向对象(OOP)----分页类

    > 同验证码类,分页也是在个人博客,论坛等网站中不可缺少的方式,通过分页可以在一个界面展示固定条数的数据,而不至于将所有数据全部罗列到一起,实现分页的原理其实就是对数据库查询输出加了一个limi ...

随机推荐

  1. MVC 枚举 转 SelectListItem

    ViewBag.userlevel = new SelectList(Enum.GetNames(typeof(AdminLevels)),"", "", te ...

  2. htm中的 src未指定具体路径的话 默认查找当前文件夹

    htm中的 src未指定具体路径的话 默认查找当前文件夹

  3. BZOJ 1046 上升序列(LIS变形)

    要保证长度为L的序列下标字典序最小,当然要尽量选前面的数. 如何判断前面的数是否满足条件?,只需要知道这个数开头的递增序列的最长长度是多少,如果不小于L,那么必然可以加入这个数.还需判断一下它是否大于 ...

  4. uva1086 The Ministers' Major Mess

    题意:有n 个议案,m 个大臣,每个大臣会对其中的ki 个议案投票,为赞成或反对.现要你判断是否存在一种方案,使得每个大臣有大于一半的投票被满足.若存在,还需判断某个议案是不是一定要通过,或者一定不能 ...

  5. 【poj2096】Collecting Bugs 期望dp

    题目描述 Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other materia ...

  6. Python 开篇及第一个Python程序

    本节内容 python 简单介绍 python 2.x 或者python 3.x python 安装 第一个python程序 一.python简单介绍 python的创始人为吉多.范罗苏姆(Guido ...

  7. [洛谷P5174]圆点

    题目大意:给你$R(R\leqslant10^{14})$,求:$$\sum\limits_{x\in\mathbb{Z}}\sum\limits_{y\in\mathbb{Z}}[x^2+y^2\l ...

  8. 【luogu2181】对角线

    首先由于不会有三条对角线交于一点,所以过某一个交点有且只能有2条对角线 而这两条对角线实质上是确定了4个顶点(也可以看做是一个四边形的两条对角线交于一点,求四边形的数量). 因此我们只需要确定4个顶点 ...

  9. Spring boot——构建rest风格

    前言rest风格严格意义上说不是一种标准,而是一种风格,在如今互联网界,这个风格被广泛用于微服务系统之间的交互. REST简单介绍 REST(Representional State Transfer ...

  10. UVA.357 Let Me Count The Ways (DP 完全背包)

    UVA.357 Let Me Count The Ways (DP 完全背包) 题意分析 与UVA.UVA.674 Coin Change是一模一样的题.需要注意的是,此题的数据量较大,dp数组需要使 ...