我可以为用户和管理员使用相同的控制器吗?

时间:2015-07-13 04:54:52

标签: php codeigniter

我在codeigniter中创建了一个在线书店。当用户登录时,我正在使用

 localhost/folder/index.php/User_controller.

我的qustion是当管理员登录一个额外的菜单应该来批准,其余的视图与用户的相同。所以我该怎么办,当我在不同的应用程序文件夹中创建单独的控制器时,我必须运行网址不同,即localhost/foldername/admin.php/admin_controller .i我真的很困惑。请帮助............

1 个答案:

答案 0 :(得分:0)

您可以构建一个自定义库,您可以在其中编写用于检查if_admin()的函数。之后,您可以在任何视图文件或控制器中使用此功能,并根据需要加载内容。

Create Custom Library

因此不需要为admin创建不同的控制器。只需查看菜单中的is_admin()即可加载额外菜单。

演示方法看起来像(在自定义库中)

public function is_admin() {
    $type = (int) $this->CI->session->user_type;
    if ($type === 4) {//4 is admin type
        return TRUE;
    } else {
        return FALSE;
    }
}

现在将视图文件签入为

if($this->custom_lib->is_admin()){
   //load extra menu items
}