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}
{pager}
{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="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}
{pager}
{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="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}
{pager}
{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

原文地址:https://www.cnblogs.com/imxiu/p/3439301.html