【问题标题】:Yii pass variable from controller to view not workingYii 从控制器传递变量到视图不起作用
【发布时间】:2014-10-31 03:12:53
【问题描述】:

我想将变量从控制器传递给视图,但它不起作用...

在控制器中

    class RegisterController extends Controller
{
    public function actionRegisterPage() 
    {
        // This function I have put it on url manager.
        // And I tried at here worked fine
        $util = new Utility();              
        $util->detectMobileBrowser();   
        $util->checkWebSiteLanguageInCookies(); 
        $this->layout = "masterLayout";
        $this->render('index');
    }
    public function actionSignIn(){

        if(blablabla){
            // Here is for me to display certain message, so I pass wish to pass $ERROR_USERNAME_INVALID to View
           $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID";

           $this->render('index',array('ERROR_USERNAME_INVALID'=>$ERROR_USERNAME_INVALID));
        }
    }

}

可见

<?php echo $ERROR_USERNAME_INVALID; ?>

错误

未定义变量:ERROR_USERNAME_INVALID

还尝试在控制器public $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID";echo 在视图中声明...仍然未定义变量:ERROR_USERNAME_INVALID

有什么建议可以将变量传递给视图吗?谢谢

【问题讨论】:

  • 我已经试过你的代码了。我发现此错误“使用未定义的常量 blablabla - 假定为 'blablabla'”。
  • @YatinMistry 我只是举个例子......问题不存在

标签: php yii


【解决方案1】:

这招奏效了

if 条件中给出的值被视为常量变量。所以如果不工作 所以你必须添加传递它作为一个字符串 blablabla 到"blablabla"

否则

1==1 或任何有效条件

public function actionSignIn(){

    if("blablabla"){   // Write value as string ("" in double quotes) other remove condition if not required

       $ERROR_USERNAME_INVALID = "ERROR_USERNAME_INVALID";

       $this->render('index',array('ERROR_USERNAME_INVALID'=>$ERROR_USERNAME_INVALID));
    }
}

或者像下面这样尝试

在控制器中

public function actionSignIn(){

       $my_var = "My Custom Value";

       $this->render('index',array('my_var'=>$my_var));
    }
}

在视图中

echo $my_var;

【讨论】:

  • 检查更新的答案?并让我知道上述解决方案对您有用吗?
  • blablabla 不是问题....我的问题是$ERROR_USERNAME_INVALID 没有去看
  • 我也试过没有 if 条件,效果很好。没有任何问题或错误。否则需要更多详细信息来解决问题。
  • 我没有得到。代码与上一个相同。你试过我的功能吗?换成我的新的。
猜你喜欢
  • 2014-11-17
  • 1970-01-01
  • 2015-10-01
  • 2012-02-10
  • 2017-05-14
  • 2016-09-02
  • 2014-12-08
  • 1970-01-01
相关资源
最近更新 更多