Yii 1.1.17 五、分页类、关联模型、权限验证与默认页面跳转
一、分页类使用
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 五、分页类、关联模型、权限验证与默认页面跳转的更多相关文章
- 将php分页类YII绑定框架,就需要改变风格的基础
分页类http://blog.csdn.net/buyingfei8888/article/details/40260127 在内部组件分页类 文件名和一致 组件是在什么地方被载入进来的?在主配置文件 ...
- YII 1.0 分页类
在控制器中 方法1 $criteria = new CDbCriteria();//AR的另一种写法 $model = Article::model(); $total = $model->co ...
- Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数
这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...
- 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 **** ...
- 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 ...
- php--yii框架中的ajax分页与yii框架自带的分页
要想使用Yii分页类 第一步:在控制器层加载分页类 use yii\data\Pagination; 第二步: 使用model层查询数据,并用分分页,限制每页的显示条数 $data = Zhao::f ...
- Yii2中自带分页类实现分页
1.首先写控制器层 先引用pagination类 use yii\data\Pagination; 写自己的方法: function actionFenye(){ $data = Fie ...
- ***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 ...
- PHP面向对象(OOP)----分页类
> 同验证码类,分页也是在个人博客,论坛等网站中不可缺少的方式,通过分页可以在一个界面展示固定条数的数据,而不至于将所有数据全部罗列到一起,实现分页的原理其实就是对数据库查询输出加了一个limi ...
随机推荐
- timer实现
实现一个 timer 前段时间写过一篇 blog 谈到 用 timer 驱动游戏 的一个想法.当 timer 被大量使用之后,似乎自己实现一个 timer 比用系统提供的要放心一些.最近在重构以前的代 ...
- cookie的路径决定服务器在发送请求时候 是否决定发送 当路径匹配时候 则发送给服务器(默认发送原则)
1.cookie路径默认为当前访问地址的上一级路径 2.当前访问地址的路径包含了cookie的路径 则发送给访问的地址 3.路径决定cookie发送与否 4.发送包含在当前路径里面的cookie
- BZOJ 1015 星球大战(并查集)
正着不好搞,考虑倒着搞.倒着搞就是一个并查集. # include <cstdio> # include <cstring> # include <cstdlib> ...
- 具体数学数论章-----致敬Kunth
整除性(divisible): 引入了代表整除性. m\n (m|n) 表示m整除n.注意这里的整除.表示的是n = km(k为整数). 在整除性这里.m必须是个正数.也许你可以描述n 是 m 的k倍 ...
- [LOJ#2340] [WC2018] 州区划分
题目链接 洛谷题面. LOJ题面.还是LOJ机子比较快 Solution 设\(f(s)\)表示选\(s\)这些城市的总代价,那么我们可以得到一个比较显然的\(dp\): \[ f(s)=\frac{ ...
- Android 打开照相机、获取相册图片、获取图片并裁减
一.调用照相机 注:surfaceView在当Activity不在前台的时候,会被销毁(onPause方法之后,执行销毁方法)当Activity回到前台时,在Activity执行onResume方法之 ...
- POJ3630:Phone List——题解
http://poj.org/problem?id=3630 简单的trie树问题,先添加,然后每个跑一边看中途有没有被打上结束标记即可. #include<cstdio> #includ ...
- BZOJ1042 [HAOI2008]硬币购物 【完全背包 + 容斥】
1042: [HAOI2008]硬币购物 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2924 Solved: 1802 [Submit][St ...
- 20165218 2017-2018-1 《Java程序设计》第一周学习总结
20165218 2017-2018-1 <Java程序设计>第一周学习总结 教材学习内容总结 第一章.Java入门 1. Java特点 Java具有简单.面向对象.平台无关.多线程.动态 ...
- NOIP2016Day1T3换教室(floyd+期望dp)
啊...这个时间写博客,明天还要上学,整个人都不好了... 这是我写的第一道期望题hiahiahia... 题目大意就不说了QWQ 80分儿做法:先floyd,爆搜枚举哪些点取,求出答案,效率O(C( ...