2014-04-16 13 views
7

Pobrałem zaawansowany szablon, wyodrębniłem go i zmieniłem główne dokumenty dla zaplecza i front-endu, ale nie mogę się domyślić, jak sprawić, by Gii działało operacje crud.uzyskiwanie Gii do pracy nad Yii 2.0

W repozytorium wymagane jest pole wymagające i wymagające-dev.JSON Dołączyłem gii do obu z nich i do każdego oddzielnie bez powodzenia.

Próbowałem również uzyskać szablon przez kompozytora, a podczas instalacji widziałem gii jako zainstalowany, ale nadal nie mógł go uruchomić.

to gdzie mam moje Yii szablonu: https://github.com/yiisoft/yii2-app-advanced

+0

i jak nazwać gii? musi działać domyślnie. – Alex

+0

Rozwiązałeś to? Mam dokładnie ten sam problem. Jedyną różnicą jest to, że zainstalowałem wszystko przez kompozytora. – synapze

+0

@synapze tak, zrobiłem, przepraszam, nie podałem odpowiedzi. Miałem "moduły" => ['gii' => 'yii \ gii \ Module'], brakujące w moim backend/config/main.php. mój projekt jest w backend, jeśli twój jest gdzie indziej to odpowiednio. – tareq

Odpowiedz

7

Krok 1: Dodaj następujący wiersz do wymaganego-dev z composer.json

"yiisoft/yii2-gii": "*" 

Krok 2: Aktualizacja swoją kompozytora. Krok 3: Dodaj następującą linię do pliku frontend/config/main.php. Nie incude Te ..........

'modules' => [ 
    ............ 
    'gii' => [ 
     'class' => 'yii\gii\Module', //adding gii module 
     'allowedIPs' => ['127.0.0.1', '::1'] //allowing ip's 
    ], 
    ........... 
    ] 

Krok 4: Jeśli włączono Twój czysty url następnie przejść do

project_name/frontend/web/gii 

jeśli nie to idź do

project_name/frontend/web/index.php?r=gii 

Możesz śledzić link yii2_gii

+0

Mam to zrobić, ale wciąż otrzymuję "Niepoprawna konfiguracja - yii \ base \ InvalidConfigException Konfiguracja dla komponentu" modules "musi zawierać element" class ". – shorif2000

+0

Kiedy wygenerowałeś swoją aplikację przed lub po wydaniu Yii2? – Kshitiz

2

również spróbować jeśli gii nadal nie działa:

To powinno być dobrze udokumentowane przez zespół Yii!

Po użyłem komendy init, w /frontend/config/main-local.php znalazłem:

if (!YII_ENV_TEST) { 
    // configuration adjustments for 'dev' environment 
    $config['bootstrap'][] = 'debug'; 
    $config['modules']['debug'] = 'yii\debug\Module'; 

    $config['bootstrap'][] = 'gii'; 
    $config['modules']['gii'] = 'yii\gii\Module'; 
} 

Moja aplikacja jest w trybie dev, a te powyżej deklaracji, zatrzymuje mój gii do pracy, więc ... wypowiedzieć tę linię

17

W ten sposób Gii działa ze zdalnego serwera, aby uzyskać zaawansowany szablon konfiguracji.

W pliku konfiguracyjnym interfejsu. Na przykład:

/frontend/config/main-local.php 

Dodaj następujący kod:

if (!YII_ENV_TEST) { 
    // configuration adjustments for 'dev' environment 
    $config['bootstrap'][] = 'debug'; 
    $config['modules']['debug'] = 'yii\debug\Module'; 

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

Interesującą częścią jest Gii array który został zmodyfikowany.

+0

Mam to zrobić, ale wciąż otrzymuję komunikat "Nieprawidłowa konfiguracja - yii \ base \ InvalidConfigException Konfiguracja składnika" bootstrap "musi zawierać element" klasy ". – shorif2000

+0

@bonez Czy możesz wkleić plik konfiguracyjny? – girish

+0

zobacz http://stackoverflow.com/questions/29260299/yii2-access-denied-to-gii – shorif2000

2

jak opisano in the Docs trzeba dostosować dozwolonych adresów IP w /frontend/config/main-local.php:

if (!YII_ENV_TEST) { 
     ... 
     $config['bootstrap'][] = 'gii'; 
     $config['modules']['gii'] = [ 
     'class' => 'yii\gii\Module', 
     'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*'] 
     ]; 
    } 

Jeśli zmodyfikowany /frontend/config/main.php tak przez ładnych adresów URL:

return [ 
    ... 
    'components' => [ 
     ... 
     'urlManager' => [ 
      'class' => 'yii\web\UrlManager', 
      'enablePrettyUrl' => true, 
      'showScriptName' => false 
     ], 
     ... 
    ]; 

Można zadzwonić gii z adresem URL

yourVM.local/gii 

(uwzględniając yourVM.local punkt do modułu Frontend w pliku Hosts.)

0

Musiałem skomentować element urlManager (wyłączając ładne adresy URL) w "komponentach" w odpowiednim pliku konfiguracyjnym (w rzeczywistości jest to domyślnie zakomentowane).

backend/config/main.php 

Przed wyłączenie Ładne adresu URL mogę załadować stronę GII, ale kiedy attemtping załadować żadnej ze stron Generatory (Controller, model, itd.) I został przekierowany do strony głównej.

Powiązane problemy