1

私は独自のテンプレート セットを使用して、Tobias Munk による giiant で cruds とモデルを生成しようとしています。

しかし、私はそれを機能させることができません。

まず、/yii2-giiant/src/generators ディレクトリをアプリにコピーし、いくつかの変更を加えました。

次に、構成を次のように変更しました。

$config['modules']['gii'] = [
'class'      => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1'],
'generators' => [
    // generator name
    'giiant-model' => [
        //generator class
        'class'     => 'schmunk42\giiant\generators\model\Generator',
        //setting for out templates
        'templates' => [
            // template name => path to template
            'oemodel' =>
                '@app/oetemplates/model/default',
        ]
    ]
],

];

しかし、管理者から巨大なフォームを実行すると、コードが取得されません。

テンプレートを含むデフォルトのディレクトリを示す選択ボックスもフォームに表示されます。しかし、そこに私のものを追加する方法がわかりません。

テンプレート

どんなアイデアでも歓迎...

4

2 に答える 2

0

generators" " キーを変更することはできません。

そのはず :

$config['modules']['gii'] = [
'class'      => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1'],
'generators' => [
    // generator name
    'model' => [
        //generator class
        'class'     => 'schmunk42\giiant\generators\model\Generator',
        //setting for out templates
        'templates' => [
            // template name => path to template
            'oemodel' =>
                '@app/oetemplates/model/default',
        ]
    ]
],

// ジェネレータ名は

'crud' => [...],

'モデル' => [...],

于 2016-07-05T17:23:20.277 に答える
0

私が schmunk42 のドキュメントに従っていた方法は問題なく、なぜ機能しないのかわかりませんでした。正しくテストしなかったか、適切な場所に構成を追加しなかった可能性があります。

しかし、schmunk42/yii2-giiant モジュールを使用していて、独自のテンプレートを使用して、モジュールに触れずにコードを生成したい場合。

次の構成では、選択ボックスに独自のモデルが表示されます

私の場合、前述したように、/yii2-giiant/src/generators ディレクトリを自分のアプリ (私の場合) の oetemplates にコピーしただけです。

    $config['modules']['gii'] = [
    'class' => 'yii\gii\Module',
    'allowedIPs' => $allowedIPs,
];

$giiant = require __DIR__.'/giiant.php';
$config = \yii\helpers\ArrayHelper::merge($config, $giiant);

$config['modules']['gii'] = [
    'class'      => 'yii\gii\Module',
    'allowedIPs' => ['127.0.0.1'],
    'generators' => [
        // generator name
        'giiant-model' => [
            //generator class
            'class'     => 'schmunk42\giiant\generators\model\Generator',
            //setting for out templates
            'templates' => [
                // template name => path to template
                'oemodel' =>
                    '@app/oetemplates/model/default',
            ]
        ]
    ],
];

次に、バックエンドに移動すると、Giant モデルでテンプレートが表示されます。

私のテンプレート

そして、それはうまく機能します。

于 2016-07-24T18:15:18.637 に答える