繁体   English   中英

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

[英]can i use same controller for user and admin?

我正在使用codeigniter建立在线书店。当用户登录时,我正在使用

 localhost/folder/index.php/User_controller.

我的问题是当管理员登录一个额外的菜单时需要批准,其余视图与user.view相同,所以当我在不同的应用程序文件夹中创建单独的控制器时,我该怎么办,我必须在url中运行不同的内容,例如localhost/foldername/admin.php/admin_controller 。我真的很困惑。请帮助............

您可以构建一个自定义库,在其中可以编写用于检查if_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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM