2010-07-07 7 views
0

J'ai un problème avec Zend Framework, lors d'une action.Problème avec des liens (comme un href) dans Zend

Cette action est appelée "uploadvideo" dans un contrôleur appelé "UploadInterfaceController". Par conséquent, la vue est appelée "uploadvideo.phtml". Maintenant, tout cela est enveloppé dans un module appelé "Upload".

Le problème est que je ne peux pas appeler un lien dans le fichier uploadvideo.phtml. J'ai essayé code suivant:

<a href="<?php echo $this->url(array('action'=>'uploadvideo','controller'=>'Uploadinterface','module'=>'upload',)); ?> " 

et il me produit une belle URL propre (Webroot/public/upload/UploadInterface/videoupload).

.

Mais

Un répartiteur d'erreur se produit, que je ne peux pas expliquer:

Zend_Controller_Dispatcher_Exception: Invalid controller class ("Upload_UploadinterfaceControll") [...] 

Je ne comprends pas, où ZF devient le préfixe "Upload_". J'ai essayé de renommer les contrôleurs (et les entrées représentant dans .zfproject.xml) mais il reste le même.

Répondre

3

Si vous utilisez des modules, vos contrôleurs doivent avoir le nom du module en tant que préfixe (à l'exception du module par défaut).

Ainsi, les noms de classe de vos contrôleurs de modules de téléchargement doivent commencer par "Upload_".

+0

Fonctionne bien! Merci David. –

1

L'erreur indique "Invalid Controller Class" Êtes-vous sûr d'étendre Zend_Controller_Action?

+0

Ouais, j'ai créé le contrôleur via l'outil zend. Quelque chose qui me dérange est, cet outil zend ne considère pas le nom du module. Il pourrait facilement mettre le préfixe MODULENAME_ sur le nom de la classe. –

+0

En fait, il crée le préfixe .. doit l'avoir supprimé plus tôt –