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‘)
  ),

  ...

),
时间: 2024-10-28 16:16:24

Yii 1.1.17 实战入门(五)的相关文章

Yii 1.1.17 实战入门(六)

开启路由 1.在配置文件main.php的components中 定义如下: // 定义路由 'urlManager'=>array( // URL模式为PATHINFO 'urlFormat'=>'path', //隐藏index.php入口名 'showScriptName' => false, //路由规则 'rules'=>array( //要映射的前台地址 => 实际地址 的路由映射 'index.html' => array('index/index'),

Yii 1.1.17 实战入门(四)

属性标签与规则设置 当进入网站页面,将会读数据库返回信息到模板上.那么,现在定义模型中的属性在模板标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public function attributeLabels(){ return array( // '表字段' => '<label>标签的内容' 'username' => '用户名' ); } 这将为username属性生成一个<label>用户名</label>的提示标

Yii 1.1.17 实战入门(三)

数据库连接 1.配置连接参数 在database.php里面开启: 'db' => array( 'connectionString' => 'mysql:host=127.0.0.1;dbname=blog', 'emulatePrepare' => true, // PDO扩展 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'yii_', // 表前缀

Yii 1.1.17 实战入门(二)

用gii创建后台模块 1.启用gii,在config/main.php 'gii' => array( 'class' => 'system.gii.GiiModule', 'password' => 'Enter your password here', //设置密码 'ipFilters' => array('127.0.0.1', '::1'), ), 2.访问gii 在浏览器地址栏键入:127.0.0.1/yii/blog/index.php?r=模块名字,回车确定    

微信开发实战入门视频教程(Android4.4.2)

基于移动技术微信公众平台开发实战入门(Android4.4.2,微移动应用,项目实战) 适合人群:初级课时数量:40课时用到技术:微移动应用涉及项目:手机微信开发 qq:1840215592 课程内容简介微信腾讯公司推出的一个即时通讯服务的应用,微信提供公众平台.朋友圈.消息推送等功能,预计到2014年年底其注册用户量将突破10亿.面对一个用户数如此巨大的家伙,大家怎么能放过,都迫不及待的希望自己的应用能够跟微信产生一些联系.那么我们这套课程要讲的就是如何跟微信产生连接,如何将我们的网站接入到微

Spring Boot 2.x 实战入门

"老齐的IT脱口秀,说人话,讲编程." 国内一线培训机构的金牌讲师齐毅诚意录制,没有忽悠,案例实战.<Spring Boot 2.x 实战入门>,老齐会把15年经验揉到实战手把手陪你学习.只要你需要,所有PPT和源码都给你,一切都是为了让你学的更轻松.希望老齐能成为你进入IT行业的引路人!课程完全免费,没有套路,也不会骗你去培训机构,只是一个老司机希望能让你少走点弯路!!课程地址: http://edu.51cto.com/course/13147.html 课程章节:第1

[公益课程]Spring Boot 2.x 实战入门

[公益内容]Spring Boot 2.x 实战入门课程内容 http://edu.51cto.com/course/13147.html 第1章Spring Boot 2.X快速入门45分钟1节 1-1Spring Boot 2.x 快速上手[免费观看]45:51第2章Spring Boot 常用配置1小时44分钟3节 2-1Spring Boot Web常用配置[免费观看]33:15 2-2日志配置[免费观看]28:59 2-3环境切换与自定义配置[免费观看]41:59第3章Thymelea

Android项目实战(五):TextView自适应大小

原文:Android项目实战(五):TextView自适应大小 对于设置TextView的字体默认大小对于UI界面的好看程度是很重要的,小屏幕设置的文字过大或者大屏幕设置的文字过小都造成UI的不美观 现在就让我们学习自适应大小的TextView控件,即当文字长度变化时,文字的大小会相应的变化,保证显示在一行当中 实现依靠于第三方类库 第三方类来源: https://github.com/grantland/android-autofittextview 和正常的使用TextView一样,只需要将

微信小程序入门五: wxml文件引用、模版、生命周期

实例内容 wxml文件引用(include.import) 模版 小程序生命周期 实例一: include方式引用header.wxml文件 文件引用对于代码的重用非常重要,例如在web开发中我们可以将公用的header部分和footer等部分进行提取,然后在需要的地方进行引用. 微信小程序里面,是包含引用功能的--include.import.这两个引用文件的标签,使用基本差不多,这里先说一下include. 微信中的视图文件引用,引用过来的都是没有渲染的,基本类似于直接将引用过来的文件复制到