2009-09-30 6 views
0

J'ai un problème. Fondamentalement, selon que l'utilisateur va sur/es ou/br ou/cn etc. sur notre site Web, nous avons différents fichiers de modèles de langues. Jusqu'à présent, nous utilisions un moteur de template personnalisé pour faire ce travail, mais nous passons maintenant à ZF. Je n'arrive pas à comprendre comment obtenir que ZF recherche un script de vue dans say cn/about-us si le langage varuable est cn. Je ne peux pas (ne veux pas) utiliser Zend_Translate pour cela car nous avons beaucoup trop de fichiers de modèles traduits et il est tout simplement impossible d'utiliser Zend_Translate pour bazillion de fichiers différents avec des multi-paragraphes de chinois/coréen/japonais, oubliant une seconde que je ne parle pas ces langues.Zend Framework et commutation des chemins de script de vue

Quelqu'un peut-il m'aider?

Répondre

2

Vous pouvez écrire un plugin de contrôleur et utiliser sa méthode routeStartup() pour modifier les paramètres de Zend_View (chemin d'accès à vos scripts de vue) et modifier l'uri de la requête avant le début du routage.

class My_Controller_Plugin_LanguageSwitcher extends Zend_Controller_Plugin_Abstract 
{ 
    public function routeStartup(Zend_Controller_Request_Abstract $request) 
    { 
     // examine the $_SERVER['REQUEST_URI'] and look for your language identifier 
     // fetch the View and set appropriate view scripts path using setScriptPath() method 
     // strip the language identifier from your REQUEST_URI 
     // change the request uri using $request->setRequestUri('your-new-uri-without-the-language- identifier'); 
    } 
} 
Questions connexes