Yii - Controller im Unterverzeichnis

8

Ich habe ein Problem mit dem Yii Framework-Routing.

Ich habe Controller erstellt, nennen wir es TestController.php

Dann muss ich es in ein Unterverzeichnis namens Make setzen, damit meine Struktur wie folgt aussieht:

%Vor%

Wenn ich den Namen ändere, funktioniert es perfekt, aber gibt es eine Möglichkeit, einen Controller mit dem gleichen Namen in Controller-Verzeichnis und ein Unterverzeichnis zu setzen?

Bearbeiten
Meine URLManager-Konfiguration sieht folgendermaßen aus:

%Vor%

Ich habe einen Controller Bookmarks . Da ich einige andere Dinge im Zusammenhang mit den Lesezeichen habe, musste ich ein Verzeichnis bookmarks erstellen und einige Controller dort platzieren, zum Beispiel Categories .

Kann nicht erzwingen, dass es funktioniert.

Bearbeiten 2
Habe gerade eine saubere Anwendung überprüft. Es scheint ein Yii-Bug (?) Zu sein.

Bearbeiten 3
Ich habe die Importkonfiguration wie vorgeschlagen geändert:

%Vor%

Ich habe auch eine korrekte Routenregel 'bookmarks/<controller:\w+>/<action:\w+>'=>'bookmarks/<controller>/<action>', erstellt.

Meine Dateistruktur ist jetzt wie folgt:

%Vor%

Hier ist eine Ausnahme, die geworfen wird:

  

Ausnahme 'CHttpException' mit Nachricht 'Das System kann nicht gefunden werden   die gewünschte Aktion "Kategorien". " im   /home/root/www/yiitesting/framework/web/CController.php:477

    
user2251 10.07.2011, 11:13
quelle

4 Antworten

4

Vor jedem Unterverzeichnis zu machen, beachten Sie, dass Yii automatisch geladen Funktion nicht Verzeichnisse durchsucht,: Yii automatisch zu laden will die Testcontroller-Klasse im Fall des Controllers, so application.controllers.Make hinzufügen * in Ihrer Einfuhranmeldung:.

%Vor%

und natürlich müssen Sie eine Regel zu urlManager hinzufügen Yü richtigen Controller aussehen zu helfen wie @ldg tat.

. Hinweise: in diesem Fall Yü für Ansichten aussehen / Marke / * für die Ansicht

    
hdang 11.07.2011, 19:04
quelle
2

Sie sollten Ihren URL-Manager mit einem Eintrag wie:

aktualisieren können %Vor%

Greifen Sie dann über / Make / test [/ action]

auf diesen Controller zu     
ldg 10.07.2011 23:49
quelle
0

Haben Sie versucht, über / Make / test statt / test zuzugreifen? Diese Funktion sollte sofort funktionieren. Prost

    
Korcholis 10.07.2011 17:50
quelle
0

Meine nginx-Konfiguration:

  

umschreiben ^ / (. *) /index.php zuletzt;

Meine Yii-URL-Manager-Konfiguration:

%Vor%

Die folgende urlManager-Konfiguration funktioniert auch:

%Vor%
    
wanshanju 10.12.2014 03:30
quelle

Tags und Links