如何使用" Translate Plugin"
为不同的定位设置不同的布局例如:
[http://example.com/eng]
它应该呈现default.ctp
英语[http://example.com/ja]
它应该呈现
default.ctp for Japanese 答案 0 :(得分:0)
您可以通过阅读 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 。
希望它有所帮助!