【发布时间】:2012-03-02 19:04:14
【问题描述】:
我正在尝试找到一种在 Codeigniter 中创建菜单的方法,该菜单根据用户的访问级别显示不同的选项,即他们是管理员、编辑还是普通用户。他们的一些选项会重叠。
我考虑过在视图中添加一个 if 语句,但这不是很好的 MVC。我还考虑在控制器中创建一个多维数组,根据用户访问级别设置菜单选项。
我非常感谢您的想法和意见。
【问题讨论】:
标签: model-view-controller codeigniter
我正在尝试找到一种在 Codeigniter 中创建菜单的方法,该菜单根据用户的访问级别显示不同的选项,即他们是管理员、编辑还是普通用户。他们的一些选项会重叠。
我考虑过在视图中添加一个 if 语句,但这不是很好的 MVC。我还考虑在控制器中创建一个多维数组,根据用户访问级别设置菜单选项。
我非常感谢您的想法和意见。
【问题讨论】:
标签: model-view-controller codeigniter
您的每个用户帐户都应具有一组角色,即仪表板、销售、付款、产品、产品添加/编辑、产品删除、报告等(您可以使用 Ion Auth 的组作为角色)。然后创建一个显示菜单的视图,并将记录的用户角色传递给该视图。然后您遍历所有角色并将它们与用户角色进行比较。如果用户具有查看特定页面的角色,那么您可以在菜单中添加指向该页面的链接。
就是这样:-) 希望我能帮上忙。
【讨论】:
我总是让这件事变得比应该做的更难。为什么不为每个用户级别设置单独的视图(部分)?即:
<?php
if ($this->user_model->isAdmin())
{
$this->load->view('user_menu_admin');
}
elseif ($this->user_model->isModerator())
{
$this->load->view('user_menu_moderator');
}
elseif ($this->user_model->isMember())
{
$this->load->view('user_menu_member');
}
else
{
$this->load->view('user_menu_guest');
}
【讨论】: