1.使用CActiveForm类组件如何输出不带html属性的结果
eg:<?php echo $form->textField($model,'email',array('size'=>30,'maxlength'=>40)); ?>是一个返回带表单的属性的结果
aq:如何返回字段本身?
eg:<?php echo CHtml::value($model,'username'); ?> 2.使用CGridView常用技巧 a.改变分页位置 'template'=>"{items}\n{pager}\n{summary}",
b.改变列表表格 默认样式 itemsCssClass'=>'width_100',
c.添加批量删除 功能
array(
'class'=>'CCheckBoxColumn',
'header'=>'全选',
'selectableRows'=>'2',
'checked'=>'false',
'checkBoxHtmlOptions'=>array('name'=>'selectdel[]'), //checkBoxHtmlOptions是数组类型
'headerHtmlOptions'=>array('width'=>'50px','value'=>'','checked'=>false),//在这里,我使用默认的。
//'footer' => '<button type="button" style="width:76px">批量删除</button>',
//'visible'=>false,
'footer'=>CHtml::button('批量删除',array('onclick'=>'GetCheckbox()','multi_del_url'=>CHtml::normalizeUrl(array('/post/delall/')),'id'=>'mdu','class'=>'button')), ),
d.定义操作栏名称 'header'=>'管理操作',
代码
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'admin-grid',
'dataProvider'=>$model->search(),
'template'=>"{items}\n{pager}\n{summary}",
//'filter'=>$model,
'itemsCssClass'=>'width_100',
'columns'=>array(
/* array(
'class'=>'CCheckBoxColumn',
'header'=>'全选',
'selectableRows'=>'2',
'checked'=>'false',
'checkBoxHtmlOptions'=>array('name'=>'selectdel[]'), //checkBoxHtmlOptions是数组类型
'headerHtmlOptions'=>array('width'=>'50px','value'=>'','checked'=>false),//在这里,我使用默认的。
//'footer' => '<button type="button" style="width:76px">批量删除</button>',
//'visible'=>false,
'footer'=>CHtml::button('批量删除',array('onclick'=>'GetCheckbox()','multi_del_url'=>CHtml::normalizeUrl(array('/post/delall/')),'id'=>'mdu','class'=>'button')), ), */
'userid',
'username',
array('name'=>'roleid','value'=>'AdminRole::model()->getRoleName($data->roleid)'),
//'roleid',
'lastloginip',
'lastlogintime',
array('name'=>'email','value'=>'$data->email','htmlOptions'=>array('class'=>'aa')),
//'email',
'realname',
array(
'class'=>'CButtonColumn',
'header'=>'管理操作',
),
),
)); ?>

最终效果截图:

Yii框架zii.widgets.grid自定义按钮

yii CButtonColumn buttons 应用

 
改变yii默认操作按钮
 
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'admin-role-grid',
'dataProvider'=>$model->search(),
'template'=>"{items}\n{pager}\n{summary}",
//'filter'=>$model,
'itemsCssClass'=>'width_100',
'columns'=>array(
'roleid',
'listorder',
'rolename',
'description',
'disabled', array(
'class'=>'CButtonColumn',
'template'=>'{update} {delete}',
'updateButtonOptions'=>array('title'=>'修改'),
'deleteButtonOptions'=>array('title'=>'删除'),
'header'=>'管理操作',
/**/
'buttons' => array(
'delete'=>array(
'imageUrl'=>Yii::app()->baseUrl.'/statics/images/admin/delete.gif',//改变删除按钮的图片 如果设为null ( 'imageUrl'=>null) 则显示文字 'deleteButtonOptions'=>array('title'=>'删除'),
),
'update'=>array(
'imageUrl'=>Yii::app()->baseUrl.'/statics/images/admin/edit.gif',
),
),
/**/
),
),
)); ?>

自动获取链接 href

<a href="<?php $this->createUrl("[module/]controller/action")?>"></a>

yii获得当前控制器和action的方法

在控制器里
$con_name = $this->getId();
$action_name = $action->id;
在视图里
$con_name = Yii::app()->controller->id;
$action_name = $this->getAction()->getId(); Yii::app()->getController()->getAction()->id;

From: http://wuhai.blog.51cto.com/2023916/d-2

yii项目开发项目常用技巧和方法汇总的更多相关文章

  1. JS~~~ 前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!

    前端开发一些常用技巧               模块化结构       &&&&&     命名空间处理 奇技淫巧!!!!!!2016-09-29    17 ...

  2. 2019-2-20C#开发中常用加密解密方法解析

    C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...

  3. jquery常用函数与方法汇总

    1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...

  4. Android 项目优化(六):项目开发时优化技巧总结

    在之前我们讲了很多能够优化 Android 开发项目质量的方案,这些方案更多的是从一些比较专精的方向切入的,阐述的是一些比较重要且独立的优化方案. 本文我们将总结一下在日常开发过程中我们能够使用的一些 ...

  5. J2EE项目开发中常用到的公共方法

    在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...

  6. git -- 项目开发最常用操作记录

    官方Git - Book https://git-scm.com/book/zh/v2 ------------------------------git配置以及公钥生成--------------- ...

  7. Java Web项目开发中常见路径获取方法

    项目绝对路径 String serverPath = request.getSession().getServletContext().getRealPath("/"); E:\J ...

  8. 在实际项目开发中keil的调试方法

    转载2015-06-14 20:23:04 一.在keilc的调试状态下,如何观察各个片内外设的运行状态?如何修改它们的设置?​ 在调试状态下,点击Peripherals菜单下的不同外设选项命令,就会 ...

  9. 项目开发中常用到的SQL语句

    阅读目录 循环示例 循环示例 循环示例 循环示例 1.循环示例 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知 ...

随机推荐

  1. absolute独立使用之下拉框最佳实践

              说明:传统的做法是给外部盒子relative定位,再给弹出框absolute定位,而这里我们将absolute独立使用 html <div class="searc ...

  2. jdk .tar.gz 包安装 inAction

    方法参考于http://blog.sina.com.cn/s/blog_81631744010137iy.html, 多谢博主分享,此处仅作为个人学习笔记. 首先将*.tar.gz解压 tar -xz ...

  3. cocos2d-x笔记5: 通过jni实现C++调用Java

    Cocos2d-x的跨平台性很强大,但是偶尔也需要平台的原生API结合. C++在Win32平台下简单的很,C++可以直接用MFC或者调用Win32API. Ios在XCode下直接就能C++和OC混 ...

  4. C++ 11 笔记 (三) : auto

    我真的不是标题党... 虽然大一上学期学C语言基础时就学了auto关键字了,而且还是跟static和register两个关键字打包学的,但是.. 猜的没错,C++11这货又给auto加新功能了,在 C ...

  5. c# 之 New新知

    本人从事.NET工作已经一段时间,毕业之前一直想着做C++的,后来因为各种原因(跟学校导师相关),走向了.NET之路,从而时不时补一下.net的基础知识,因为自己的.NET知识还不是很扎实.近期每天早 ...

  6. sql server 表空间

    在SqlServer2005中,建表时是默认把所有的表都保存在PRIMARY默认表空间中的.当数据库中表很多,并且数据量很大时,会导致数据库性能严重下降,有必要将一些大的表放到不同的表空间中去.主要的 ...

  7. 【转载】Using the Web Service Callbacks in the .NET Application

    来源 This article describes a .NET Application model driven by the Web Services using the Virtual Web ...

  8. C# XML与对象互相转换

    using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; u ...

  9. [JavaScript] js实现简单的代码运行框

    <script type="text/javascript">// <![CDATA[ function runCode(obj) { var winname = ...

  10. 3D触控简介:建立数字刻度应用及快速活动栏

    苹果公司通过 iPhone 6s 和 6s Plus 引入了与手机互动的全新方式:按压手势.你也许知道,苹果智能手表和苹果笔记本电脑早已具备这一功能,只是名称略有不同,为力感触控(Force Touc ...