2010-06-11 4 views
2

.I'm essayant de mettre en place un site web en plusieurs langues avec kohana v3, suivant ce tutoriel: http://kerkness.ca/wiki/doku.php?id=example_of_a_multi-language_websiteKohana site multi-langue

routage à un contrôleur ou une action dans les c.-à-website/controller/action semble fonctionner comme l'URL est correctement redirigé à website/lang/controller/action.

  • Toutefois, cela ne fonctionne pas pour les appels de requête ajax. Je dois éditer manuellement l'URL avec la langue appropriée, pour récupérer avec succès les données. Cela s'applique également aux ancres sur la page html.

  • En plus de ce problème, le paramètre de débordement 'id' ne fonctionne pas non plus. Il prend la variable 'lang' comme paramètre.

J'ai installé ma route par défaut comme dans le tutoriel i.e. .:

Route::set('default', '((<lang>)(/)(<controller>)(/<action>(/<id>)))', array('lang' => "({$langs_abr})",'id'=>'.+')) ->defaults(array('lang' => $default_lang,'controller' => welcome', 'action' => 'index')); 

Toute aide est très appréciée! Cheers

Répondre

1

Avez-vous défini la langue par défaut dans le fichier de configuration?

Essayez la route suivante à la place:

Route::set('default', '(<lang>/)(<controller>(/<action>(/<id>)))', array('lang' => "({$langs_abr})",'id'=>'.+')) 
    ->defaults(array(
     'lang' => $default_lang, 
     'controller' => 'welcome', 
     'action' => 'index')); 

Si vous voulez ajouter la langue courante à tout lien vous émettez, vous pouvez essayer étendre de manière transparente la classe URL, ou peut-être juste la classe HTML (pour l'ancre () méthode). La langue actuelle doit être disponible dans l'objet de requête Request::$instance->param('lang').