我正在 CakePHP 中创建一个页面,我正在尝试翻译 url。我想要的是翻译控制器名称所以说我有这个 urldomain/da/product
然后它应该把它翻译成丹麦语所以它变成了domain/da/produkt
。
我在 AppHelper 中编写了自己的 url 方法,但在访问模型进行翻译时遇到问题。当我从助手搜索访问模型时,人们反对这样做。
那么什么是正确的方法来做到这一点。当用户使用链接时,我需要查找我将其翻译回的位置domain/da/product
。
这是 Apphelper 代码
App::uses('Helper', 'View');
App::import("Model", "ControllerTranslation");
class AppHelper extends Helper {
public function url($url = null, $full = false) {
$Model = new ControllerTranslation();
$lang = Configure::read('Config.language');
$controller = $Model->find("first",array("conditions"=> array("ControllerTranslation.translation = "=> $url['controller'],"ControllerTranslation.language" => $lang)));
if (count($controller))
{
$url['controller'] = $controller["ControllerTranslation"]["translation"];
}
return parent::url($url, $full);
}