View helper action et les plugins de controller
Bonjour à tous,
voici mon cas :
- j'ai plusieurs modules dans mon application et pour chaque j'ai un fichier de langues tmx. ça marche très bien
- j'ai une classe qui étend Zend_Controller_Plugin_Abstract avec une méthode predispatch qui va charger le fichier de langue correspondant à mon module (pour éviter de charger tous mes fichiers de langages de tous mes modules)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
class TOTO_Controller_Plugin_TranslatorLoader extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$moduleName = $request->getModuleName();
$tmxfile = APPLICATION_PATH . DIRECTORY_SEPARATOR . 'modules'
. DIRECTORY_SEPARATOR . $moduleName
. DIRECTORY_SEPARATOR . 'languages'
. DIRECTORY_SEPARATOR . $moduleName . '.tmx';
if(is_file($tmxfile))
{
$tr = Zend_Registry::get('Zend_Translate');
$tr->addTranslation( array( 'content' => $tmxfile) );
}
}
} |
Les problèmes commencent si j'utilise le view helper action() pour charger dans un module B le résultat se trouvant dans un module A : le plugin va charger le fichier de langue du module B mais pas celui du module A.
Je pensais qu'en appelant action, on repassait par le dispatch et donc que mon plugin serait appelé de nouveau pour le module A.
est-ce un problème de configuration à mon niveau ou est-ce que forcément, quand on passe par le view helper 'action', le trio module/controller/action demandé ne fera pas appel aux plugins de controller car ils ont déjà été exécuté ?
par avance merci