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


can i use same controller for user and admin?

我正在做一个网上书店在codeigniter。当用户登录时,我使用

 localhost/folder/index.php/User_controller.

我的问题是当管理员登录一个额外的菜单应该来审批,其余的视图是相同的用户。所以我应该怎么做,当我在不同的应用程序文件夹单独的控制器,我必须运行不同的url,即localhost/foldername/admin.php/admin_controller我真的很困惑。请帮助 ............

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