我一直在Yii创建一个应用程序。我为admin创建了一个模块。所以,我想在我的主题的左上角显示当前登录用户的角色名称。我编写了一个方法,它返回当前登录用户的角色名称。我不明白我应该把这个方法置于主题中。
P.S。我在DefaultController.php中编写了该方法,但它仅适用于http:// localhost / [my project name] /index.php/admin/default/index。当我触发其他控制器时,它会出错。有没有我为主题编写方法的地方或主题的任何控制器类。
提前致谢
答案 0 :(得分:0)
打开protected/components/Controller.php
添加全局变量&然后你可以在每个控制器中访问。
$public user;
public function init(){
parent::init(); // no need for this call if you don't have anything in your parent init()
getCurrentUser();
}
public function getCurrentUser(){
$this->user = ... // the code to get user & role name goes here
}
在常见视图中(例如views / layouts / main.php)
<ul>
<li><?php $this->user->user_name ?></li>
<li><?php $this->user->role?></li>
</ul>