如何使用“翻译插件”为不同的位置设置不同的布局
前任:
- 带链接:
[http://example.com/eng]
它应该为英语呈现 default.ctp - 并带有链接:
[http://example.com/ja]
它应该为日语呈现 default.ctp
如何使用“翻译插件”为不同的位置设置不同的布局
前任:
[http://example.com/eng]
它应该为英语呈现 default.ctp[http://example.com/ja]
它应该为日语呈现 default.ctp一种方法是读取Controller/AppController.php$this->request->params['locale']
文件中可用的变量,然后根据它更改布局。它会是这样的:
class AppController extends CroogoAppController {
public function beforeRender() {
// Some code...
// First, checks if the locale parameter is not empty
if(!empty($this->request->params['locale']))
// Then, sets the layout for each case.
// In this example, we user eng and ja
switch($this->request->params['locale']) {
case 'eng':
$this->layout = 'Croogo.eng';
break;
case 'esp':
$this->layout = 'Croogo.ja';
break;
}
// If it is empty, then loads the default locale layout
else
$this->layout = 'Croogo.default';
}
// The rest of the AppController code...
}
请注意,我对布局文件使用了 Croogo 前缀。我这样做是因为我希望从 croogo 文件夹中加载布局文件。在我的安装中,它们位于路径Vendor/croogo/croogo/Croogo/View/Layouts中。
希望能帮助到你!