每个生成器都有一个表单字段 Code Template
,它允许您选择一个模板用于代码生成。
默认情况下, Gii 只提供一个模板 default
,但你可以创建自己的模板,以适应不同的需求。
在文件夹 @app\vendor\yiisoft\yii2-gii\generators
下, 可以看到有6个文件夹,分别对应了不同的代码生成器。
+ controller
- crud
+ default
+ extension
+ form
+ model
+ module
文件夹的名字是生成器名称。 打开每一个文件夹,都可以看到 default
文件夹,这就是模版的名称。
将文件夹 @app\vendor\yiisoft\yii2-gii\generators\crud\default
复制到另一位置,例如 @app\myTemplates\crud\
。
打开文件夹,并进行修改,例如: 在 views\_form.php
文件中添加 errorSummary
:
<?php
//...
<div class="<?= Inflector::camel2id(StringHelper::basename($generator->modelClass)) ?>-form">
<?= "<?php " ?>$form = ActiveForm::begin(); ?>
<?= "<?=" ?> $form->errorSummary($model) ?> <!-- 在这里添加 -->
//...
然后修改配置文件,让 Gii 根据我们自己的模版进行代码生成:
// config/web.php 基于 基础模版应用( basic app )
// ...
if (YII_ENV_DEV) {
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20', '172.16.0.0/12'],
'generators' => [ //这里配置生成器
'crud' => [ // 生成器名称
'class' => 'yii\gii\generators\crud\Generator', // 生成器类
'templates' => [ //配置模版文件
'myCrud' => '@app/myTemplates/crud/default', // 模版名称 => 模版路径
]
]
],
];
}
打开 CRUD 生成器,你会看到在字段 Code Template
的表单中显示自己的模板。