一、分页类使用

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. vs2015常用代码块与自定义代码块

    常用代码块 代码段名 描    述 #if 该代码段用#if和#endif命令围绕代码 #region 该代码段用#region和#endregion命令围绕代码 ~ 该代码段插入一个析构函数 att ...

  2. SPD各模块总结

    一.用户角色绑定节点 1.库存操作员.库存主管.验货操作员:绑定任一节点 2.采购操作员.公药操作员:只能绑定药库节点 3.退库操作员.药品申领员:绑定药库以外的节点 二.采购计划模块 1.采购计划的 ...

  3. 在Ubuntu系统下编译arcsim仿真器

    首先,用tar zxvf arcsim-0.2.1.tar.gz 将软件包解压 然后,打开里面的INSTALL文件,按照里面的步骤一步一步安装库.Ubuntu13.04下 1.BLAS sudo ap ...

  4. Qt快速入门学习笔记(基础篇)

    本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&am ...

  5. ADC关键性能指标及误区

    ADC关键性能指标及误区 由于ADC产品相对于网络产品和服务器需求小很多,用户和集成商在选择产品时对关键指标的理解难免有一些误区,加之部分主流厂商刻意引导,招标规范往往有不少非关键指标作被作为必须符合 ...

  6. 转:DP和HDP

    Dirichlet Process and Hierarchical Dirichlet Process 原文:http://hi.baidu.com/zentopus/item/46a622f5ef ...

  7. DFS染色解决区域分块问题UVALive 6663

    怪我比赛的时候想法太过于杂乱了. 注重于区域的属性了.甚至还想用状态压缩或者是hash来描述分块的区域. 其实我们的可以宏观的角度去审视这个问题.就是求分区的问题.那么我们完全可以标记边框的值为1.即 ...

  8. 【题解】Atcoder ARC#67 F-Yakiniku Restaurants

    觉得我的解法好简单,好优美啊QAQ 首先想想暴力怎么办.暴力的话,我们就枚举左右端点,然后显然每张购物券都取最大的值.这样的复杂度是 \(O(n ^{2} m)\) 的.但是这样明显能够感觉到我们重复 ...

  9. 2067: [Poi2004]SZN——树上贪心+二分

    题目大意: 给一棵树.求用最少的链覆盖这棵树(链不能相交),在这个基础上求最长的链最短可以是多少. n<=10000 题解: 肯定先处理第一问: 答案:$\sum_(du[i]-1)/2+1$ ...

  10. 使用springcloud的feign调用服务时出现的错误:关于实体转换成json错误的介绍

    http://blog.csdn.net/java_huashan/article/details/46428971 原因:实体中没有添加无参的构造函数 fastjson的解释: http://www ...