2009-06-10 14 views
0

Ich versuche, Module im ZF 1.8 Projekt zu verwenden, kann aber kein funktionierendes Routing zu den Aktionen der Module bekommen. HierVerwenden von Modulen in ZendFramework 1.8.2

ist ein Beispiel, ich route "/ test" erstellen, die 'Test' Controller 'ttt' und Aktion 'index' auf Modul-Punkte:

$router->addRoute(
    $name, 
    new Zend_Controller_Router_Route('test', 
     array('controller' => 'ttt', 
       'module' => 'test', 
       'action' => 'index')) 
); 

I initilaize modules (erstellen Diretory „ttt “erforderlich Controller und Ansichtsklassen) und es während der Bootstrap angeben:

$front->addModuleDirectory(dirname(__FILE__) . '/modules'); 

Aber wenn ich URL öffnen wie example.com/test ich Fehler immer wie "Message: Invalid Controller angegeben (ttt)".

Was ist falsch an meinem Beispiel?

Fest. die folgende Zeile in die application.ini Hinzugefügt:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

Antwort

3

Für Controller, die nicht im Standardmodul enthalten sind, müssen Sie dem Controller-Klassennamen den Modulnamen und einen Unterstrich voranstellen.

heißt

class Test_TttController extends Zend_Controller_Action 
{ 

} 
+0

Sie haben Recht, Klasse sollte auf diese Weise benannt werden und auch application.ini sollte mit Ressourcen gefüllt werden. frontController.moduleDirectory-Parameter. Aus irgendwelchen Gründen funktioniert das Setzen dieses Parameters aus Bootstrap.php nicht. Und auch zf.sh erstellt fälschlicherweise Code für Dateien im Modul. –

+0

Ja, sie sollten Zend_Tool wahrscheinlich nicht mit der Version 1.8 enthalten haben, da es eindeutig nicht bereit ist. Glaube aber, es wird bald aussortiert :) –

0

Haben Sie eine andere Controller-Klasse-Datei kopiert, umbenannt und vergessen Sie die Klassendeklaration zu TttController in der Datei zu ändern? Das würde Ihnen diese Fehlermeldung bringen, wenn der Controller tatsächlich existiert. Stellen Sie sicher, dass es so aussieht:

class TttController extends Zend_Controller_Action 
{ 
... 

Natürlich könnte ich weg sein.

+0

Nein, ich habe zf-Tool erstellt Controller. Es ist in Ordnung. –

+0

Zend_Tool ist ziemlich fehlerhaft, so weit ich weiß, also überprüfen Sie besser, dass es die richtigen Dateien mit den richtigen Namen erzeugt hat. –

+0

Ja, ich habe bereits zwei Bugs gemeldet und vor ein paar Minuten noch einen gefunden. Also überprüfe ich immer generierten Code. Es funktioniert einfach nicht, also denke ich, dass es ein Bug der Version 1.8 ist. –

Verwandte Themen