Yii语言控件使用行为如何防止表单重新提交对话框

时间:2014-09-28 21:54:46

标签: php session post yii lang

我使用本教程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())
?>

但它重复使用相同的代码,我相信有更好的解决方案(可能会在正确的位置放置刷新功能)

1 个答案:

答案 0 :(得分:0)

找到一个解决方案,您只需要将一个beforeAction添加到组件/ Controller,因为所有添加的控制器都会扩展它。问题是我不知道。这是一个有效的功能,所以我不必重写代码。

protected function beforeAction()
    {
        if (isset($_POST['lang'])) {
            $this->refresh();
        }
        return true;
    }