自定义gii生成模块
来源:互联网 发布:mac响声很大 编辑:程序博客网 时间:2024/05/01 00:09
主要形成modal(弹出窗)模板风格:
1、将vendor\yiisoft\yii2-gii\generators\crud\default复制到backend\components\gii-custom\crud\default,在backend中缺少的文件自己创建,default中包含gii自动生成的代码
2、配置main-local.php
$config['modules']['gii']=[ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1','::1'], 'generators' => [ 'crud'=>[ 'class'=>'yii\gii\generators\crud\Generator', 'templates'=>[ 'myCrud'=>'@app/components/gii-custom/crud/default', ] ] ], ];}
3、修改default中index.php的代码(都在该文件中中修改)
a.create按钮
<p> <?= "<?= " ?>Html::a(<?= $generator->generateString('创建' . Inflector::camel2words(StringHelper::basename($generator->modelClass))) ?>, ['create'], [ 'class' => 'btn btn-success', 'id'=>'create', 'data-toggle'=>'modal', 'data-target'=>'#operate-modal', ]) ?> </p>
b、GridView和modal结合
['class' => 'yii\grid\ActionColumn', 'template'=>'{update}{delete}', 'header'=>'操作', 'buttons'=>[ 'update'=>function ($url,$model,$key){ return Html::a('信息',$url,[ 'title'=>'栏目信息', 'class'=>'btn btn-default btn-update', 'data-toggle'=>'modal', 'data-target'=>'#operate-modal', ]); }, 'delete'=>function ($url,$model,$kry){ return Html::a('删除',$url,[ 'title'=>'删除', 'class'=>'btn btn-default', 'data'=>[ 'confirm'=>'确定删除吗?', 'method'=>'post', ], ]); }, ], ],
c、页面低端创建modal和create、update
//创建modal Modal::begin([ 'id'=>'operate-modal', 'header'=>'<h4 class="modal-title"></h4>' ]); Modal::end(); //创建create $requestCreateUrl=Url::toRoute('create'); //创建update $requestUpdateUrl=Url::toRoute('update'); $js=<<<JS //创建create操作 $('#create').on('click',function(){ $('.modal-title').html('创建'); $.get('{$requestCreateUrl}',function (data){ $('.modal-body').html(data); }); }); //创建update操作 $('.btn-update').on('click',function{ $('.modal-title').html('删除'); $.get('{$requestUpdateUrl}',{id:$(this).closest('tr').data('key')}, function(data){ $('.modal-body').html(data); } ); });JS; $this->registerJs($js);
4、修改表单页面_fom.php
<?= "<?php " ?>$form = ActiveForm::begin([ 'id'=>'<?= Inflector::camel2id(StringHelper::basename($generator->modelClass)) ?>-id', 'enableAjaxValidation'=>true,//通过异步验证 'validationUrl'=>Url::toRoute('validate-form'), ]); ?>
5、在控制器中增加actionValidateForm验证
//异步表单验证ValidateForm public function actionValidateForm(){ $model=new <?=$modelClass?>(); $model->load(Yii::$app->request->post()); Yii::$app->response->format=yii\web\Response::FORMAT_JSON; return \yii\widgets\ActiveForm::validate($model); }
6、针对某个数据表可以gii生成相应的模板
注:自己也是学习白狼大哥的教程,只是作为自己学习的总结
http://www.manks.top/document/yii2-blog-manage.html
阅读全文
0 0
- 自定义gii生成模块
- yii2 gii模块自动生成代码,让双手更自由
- YII入门 (4) -- 自定义Gii生成代码模板
- YII入门 (4) -- 自定义Gii生成代码模板
- 使用gii快速生成代码-开启Gii
- 修改GII生成模板
- gii生成代码
- yii生成Gii
- yii gii快速生成项目
- yii2使用Gii生成代码
- YII2使用Gii生成代码
- PHP Yii gii自动生成的模块代码无法执行,报错:Internal Server Error include(Controller.php)
- Drupal 自定义模块条码生成
- YII框架使用gii创建模块
- YII2通过GII创建后台模块
- yii2.0 使用 Gii 生成代码
- Yii2 使用四 使用Gii生成代码
- php框架yii gii代码自动生成
- ZOJ--1009:Enigma
- Mysql关系范式连接总结
- HBase的异常(一)
- 目标跟踪学习笔记(opencv中meanshift和camshift例子的应用)
- 系统缓存全解析
- 自定义gii生成模块
- 使用正则表达式来匹配URL或者网址
- ajax三级省联动
- BZOJ 3172 [Tjoi2013]单词 AC自动机 模板题
- Android通过WebView获取解析html内容
- Python函数基本用法
- C++中相对路径与绝对路径以及斜杠与反斜杠的区别
- 获取Android设备的唯一标识符
- arttemplate模板