Створення власних шаблонів

Кожний генератор має поле форми Code Template (Шаблон коду), яке дозволяє вам вибрати який шаблон використовувати для генерування коду. За замовчуванням Gii надає лише один шаблон default, але ви можете створювати власні шаблони, які підходитимуть до ваших потреб.

Якщо ви відкриєте каталог @app\vendor\yiisoft\yii2-gii\generators, то побачите шість каталогів для генераторів.

+ controller
- crud
    + default
+ extension
+ form
+ model
+ module

Ці імена є іменами генераторів. Якщо відкриєте будь-який з цих каталогів, то зможете побачити каталог default, ім’я якого є ім’ям шаблона.

Скопіюйте каталог @app\vendor\yiisoft\yii2-gii\generators\crud\default в інше місце, наприклад, @app\myTemplates\crud\. Тепер відкрийте цей каталог та змініть будь-який шаблон як забажаєте, наприклад, додайте errorSummary у views\_form.php:

<?php
//...
<div class="<?= Inflector::camel2id(StringHelper::basename($generator->modelClass)) ?>-form">

    <?= "<?php " ?>$form = ActiveForm::begin(); ?>
    <?= "<?=" ?> $form->errorSummary($model) ?> <!-- ДОДАНО ТУТ -->
//...

Тепер вам необхідно розповісти Gii про ваш шаблон. Налаштування робиться у файлі конфігурації:

// config/web.php у базовому додатку
// ...
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 з’явився ваш власний шаблон.