0

我一直在 Yii 中创建一个应用程序。我为管理员创建了一个模块。因此,我想在主题的左上角显示当前登录用户的角色名称。我编写了一个返回当前登录用户角色名称的方法。我不明白我应该把这个在主题中起作用的方法放在哪里。

ps 我在 DefaultController.php 中编写了该方法,但它仅适用于 http://localhost/[我的项目名称]/index.php/admin/default/index。当我触发其他控制器时,它会出错。有没有我为主题编写方法或为主题编写任何控制器类的地方。

提前致谢

4

1 回答 1

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>
于 2013-10-25T15:11:17.387 回答