我們的網站是多語言(客戶端)。但是我們不需要翻譯PO文件中的「login」這樣的單詞,而是需要從數據庫中的翻譯表中提取它們。這是客戶的要求。CakePHP使用庫內部模型
我研究了哪種方式可以製作出可從任何地方訪問的功能(視圖,控制器等)。我認爲最好的方法是製作一個自定義庫,因爲它表示它可以在任何地方使用。
但是我不能在我的模型中使用它,它給了我錯誤的地方,我不能使用ClientnameLibrary::translate('login')
。我說在我的模型行App::uses('ClientnameLibrary', 'Lib');
,並在驗證部分試過這樣:
'lastname' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
'message' => ClientnameLibrary::translate('lastname_validation_error'),
),
),
有沒有一種方法,我可以用我的自定義庫中的模型?如果沒有,在我的模型中(從數據庫中)翻譯驗證消息的最佳方法是什麼?
這是我在控制器/視圖使用的代碼:當翻譯改變
App::uses('ClientnameLibrary', 'Lib'); //include at top of file
echo ClientnameLibrary::translate('login'); //to get translated word from database
「_I can not use it_」不是一個適當的問題描述,請更確切地說明問題是什麼。話雖如此,App :: uses()在模型中也能正常工作。 – ndm
你說得對,我很抱歉。我編輯了我的答案,並給出了我正在努力工作的代碼。 – Femke
你嘗試過App :: uses('ClientnameLibrary','Lib');在你的模型文件中? –