我剛剛遇到了一個惱人的問題,我沒有找到任何答案(在SO或整個Internet中)。檢查CakePHP中語言文件夾中的查看文件是否存在
我想開發一個多語言網站,並且我一直在遵循CakePHP's Internalization & Localization tutorial。我現在試圖將語言文件夾放在Views文件夾中,因此我可以根據用戶所需的語言簡單地將用戶重定向到視圖文件。問題是,在一段代碼是應該做的,根本不在我的應用程序工作:
// App Controller Code.
public function beforeFilter() {
$locale = Configure::read('Config.language');
if ($locale && file_exists(VIEWS . $locale . DS . $this->viewPath)) {
// e.g. use /app/View/fra/Pages/tos.ctp instead of /app/View/Pages/tos.ctp
$this->viewPath = $locale . DS . $this->viewPath;
}
}
我得到的狀態,有沒有VIEWS不斷,這確實是真正的錯誤。但教程中沒有提到,所以我在這裏輸了一些。我實際上可以從if
聲明中刪除第二個條件,並且代碼可以工作,但是我知道有一天我可能想添加對於兩種語言都是相同的視圖文件(例如只有圖像的視圖),並且不應該有重定向在這種情況下語言文件夾,這正是這個代碼會做什麼。
我知道我可能會錯過一些很明顯的事情,因爲即使教程沒有提及它,但如果有人能分享一些幫助,我會很高興。