yii项目开发项目常用技巧和方法汇总
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 应用
<?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;
yii项目开发项目常用技巧和方法汇总的更多相关文章
- JS~~~ 前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!
前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!2016-09-29 17 ...
- 2019-2-20C#开发中常用加密解密方法解析
C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...
- jquery常用函数与方法汇总
1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...
- Android 项目优化(六):项目开发时优化技巧总结
在之前我们讲了很多能够优化 Android 开发项目质量的方案,这些方案更多的是从一些比较专精的方向切入的,阐述的是一些比较重要且独立的优化方案. 本文我们将总结一下在日常开发过程中我们能够使用的一些 ...
- J2EE项目开发中常用到的公共方法
在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...
- git -- 项目开发最常用操作记录
官方Git - Book https://git-scm.com/book/zh/v2 ------------------------------git配置以及公钥生成--------------- ...
- Java Web项目开发中常见路径获取方法
项目绝对路径 String serverPath = request.getSession().getServletContext().getRealPath("/"); E:\J ...
- 在实际项目开发中keil的调试方法
转载2015-06-14 20:23:04 一.在keilc的调试状态下,如何观察各个片内外设的运行状态?如何修改它们的设置? 在调试状态下,点击Peripherals菜单下的不同外设选项命令,就会 ...
- 项目开发中常用到的SQL语句
阅读目录 循环示例 循环示例 循环示例 循环示例 1.循环示例 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知 ...
随机推荐
- VI一个终端编辑多个文件的命令
可分两种情况: 在不同窗口中打开多个文件: 如果已经打开一个了一个文件, 则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名, 如此就可以在一个窗口打开多个文件了. 可以使用 ...
- 【Android】 Sqlite3 not found
调试机没有sqlite3命令文件 导入即可 sqlite3 http://pan.baidu.com/s/1bohTMiz //(使用老版sqlite3需要导入libncurses.so文件至/sys ...
- wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)
首先需要搭建的版本可以在php官方(http://windows.php.net/download)下载对应的版本,X86对应的是32位操作系统,X64对应的是64位操作系统. 1:下载 ...
- 一个关于hightcharts的x轴刻度问题
最近做公司的一个报表系统,需要折线图,圆柱图形等来进行统计,经过最后考察,决定用当下较为流行的Highchart插件来进行实现,highchart用起来非常方便,只用对后台传过来的数据进行简单的处理后 ...
- 查看文章 mysql:表注释和字段注释[转]
1 创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2 修改表的注释 alter tabl ...
- View和ViewGroup的区别 -- Touch事件处理
View.java源码: /frameworks/base/core/java/android/view/View.java View.java的 dispatchTouchEvent 方法: 经过一 ...
- 10分钟进阶Nuget
nuget是什么 .net版的maven(java)? 如果你用过windows的chocolatey,mac的homebrew或许更容易理解他,先来回顾下以前我们是如何处理或者碰到过的问题. 1.假 ...
- juery mobile select下来菜单选项提交form问题
注意: data-native-menu="false" 虽然具有渲染作用,但是无法进行js提交. <script type="text/javascript&q ...
- HttpContext.Current.Session=null问题
启用asp.net状态服务,可以让Session持久化!
- 【转】.Net程序员玩转Android系列之三~快速上手
原文:http://www.cnblogs.com/HouZhiHouJueBlogs/p/3962122.html 快速环境搭建和Hello World 第一步:JAVA SDK(JDK)的安装: ...