2010-06-11 136 views
2

.I'm試圖建立一個多語言的網站的Kohana V3,下面這個教程:http://kerkness.ca/wiki/doku.php?id=example_of_a_multi-language_websiteKohana的多語種網站

路由到即website/controller/action內的控制器或動作似乎作爲URL工作正確地重定向到website/lang/controller/action

  • 但是,這不適用於ajax請求調用。我必須使用適當的語言手動編輯url以成功檢索數據。這也適用於html頁面上的錨點。

  • 除了這個問題,溢出參數'id'也不起作用。它將'lang'變量作爲參數。

我已經安裝就像

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

任何幫助是非常讚賞的教程即:我的默認路由!乾杯

回答

1

您是否在配置文件中設置了默認語言?

試試下面的路由,而不是:

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

如果你想在當前語言添加到任何鏈接你的輸出,你可以嘗試透明地擴展URL類,或者只是在HTML類(錨( ) 方法)。 當前語言應在請求對象Request::$instance->param('lang')中可用。