2016-07-05 3 views
1

Je suis en train d'utiliser mon propre ensemble de modèles pour générer CRUDs et modèles avec giiant par Tobias Munk et vous avez choisi: https://github.com/schmunk42/yii2-giiant/blob/master/docs/32-customizations.mdmodèle de modèle personnalisé à l'aide yii2 giiant

mais je ne peux pas le faire fonctionner.

D'abord, je copiais le répertoire/yii2-giiant/src/generators dans mon application et y apportais quelques modifications.

Puis j'ai changé la config comme suit:

$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', 
     ] 
    ] 
], 

]; Mais quand je lance le formulaire giiant de l'admin, je ne décroche pas mon code.

Je peux également voir dans le formulaire une boîte de sélection qui affiche le répertoire par défaut avec les modèles. mais je ne sais pas comment ajouter le mien là.

templates

... Toutes les idées bienvenues

Répondre

0

La façon dont je suivais la documentation schmunk42 était bien et non bien sûr pourquoi ça ne fonctionnait pas. Peut-être que je n'ai pas testé correctement ou que je n'ai pas ajouté la configuration au bon endroit.

Mais si vous utilisez le module schmunk42/yii2-giiant, et que vous souhaitez utiliser votre propre modèle pour générer du code sans toucher le module.

La configuration suivante devrait vous apporter votre propre modèle dans la boîte de sélection

Dans mon cas, comme je l'ai dit, je viens de copier le/yii2-giiant/src/générateurs dans mon application (dans mon cas) à l'intérieur 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', 
      ] 
     ] 
    ], 
]; 

Puis, quand je vais au back-end je peux voir dans le modèle Giiant mon modèle:

my template

Et ça marche très bien.

0

Vous ne pouvez pas changer les touches "generators", à savoir

Il devrait être:

$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', 
     ] 
    ] 
], 

// nom du générateur doit être

'crud' => [...],

'modèle' => [...],

etc