我使用本教程http://www.yiiframework.com/wiki/208/how-to-use-an-application-behavior-to-maintain-runtime-configuration/来改变语言。但我遇到的问题是$ _Post [' lang']变量没有被重置,每次我尝试刷新页面时,它都会给我一个表单重新设置对话框,我不想让它。但是我不知道在何处以及如何使用重定向,因为它在behaiours课程中不起作用。我怎样才能阻止这种形式重新组合?
编辑:我发现了一个丑陋的解决方案,将此代码放在我拥有的每个视图文件中
<?php
$this->renderPartial('//lang/_refresh', array())
?>
但它重复使用相同的代码,我相信有更好的解决方案(可能会在正确的位置放置刷新功能)
答案 0 :(得分:0)
找到一个解决方案,您只需要将一个beforeAction添加到组件/ Controller,因为所有添加的控制器都会扩展它。问题是我不知道。这是一个有效的功能,所以我不必重写代码。
protected function beforeAction()
{
if (isset($_POST['lang'])) {
$this->refresh();
}
return true;
}