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 ...
随机推荐
- 【数据库】各种主流 SQLServer 迁移到 MySQL 工具对比
在部署前期,首要任务就是考虑如何快速把基于 SQL Server 数据库的应用程序移植到阿里云的 MySQL 数据库.由于程序是基于 O/R mapping 编写,并且数据库中没有使用存储过程.用户函 ...
- bzoj4501 旅行
题面: 小C来到了F国,小C想好好地参观F国.F国可以看一个有n个点m条边的有向无环图,小C刚开始站在1号点.假设现在小C站在x号点: 1.点x没有出边,结束旅游. 2.点x有o条出边,小C等概率地选 ...
- shell脚本学习—条件测试和循环语句
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与 ...
- 转 :hlda文献学习笔记
David M.BLEI nCR文献学习笔记(基本完成了) http://yhbys.blog.sohu.com/238343705.html 题目:The Nested Chinese Resta ...
- Elasticsearch 更新索引settings
1.更新索引设置:将副本减至0,修改索引分析器为ik_max_word和检索分词器为ik_smart 2.需要先将索引关闭,然后再PUT setings POST user/_close PUT us ...
- 洛谷 P3380 bzoj3196 Tyvj1730 【模板】二逼平衡树(树套树)
[模板]二逼平衡树(树套树) 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 查询k在区间内的排名 查询区间内排名为k的值 修改某一位值上的数值 查询k在 ...
- HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值)
HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值) 点我挑战题目 题意分析 从题目中可以看出是大数据的输入,和大量询问.基本操作有: 1.Q(i,j)代表求区间max(a ...
- ACM数学
1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,< ...
- 放弃采用Mycat的条件
Mycat::一个新颖的数据库中间件产品 设计使用Mycat时: 满足以下任意一条,请考虑放弃使用MyCat 有非分片字段查询 有分页排序 进行表JOIN操作,除非要确保两个表的关联字段具有相同的数据 ...
- Redux的应该注意的问题
1. Store中的State修改不能直接修改原有的State,若直接修改State,则redux中的所有操作都将指向 内存中的同一个state,将无法获取每一次操作前后的state,就无法追溯sta ...