FastAdmin后台菜单怎么添加角标

FastAdmin后台菜单怎么添加角标?

比如我们要实现这么一个需求,当有用户或订单需要审核时,在后台菜单上添加一个数字角标,用于提醒管理员去审核,该怎么做呢?

有两种实现方式。

方式1

后端控制器与JS相结合,在控制器的index方法中,返回一个badge的参数,示例如下

$result = array("total" => $total, "badge" => $badge, "rows" => $list);

return json($result);

在控制器对应的JS文件中,添加相应的显示代码,位于columns下方

onLoadSuccess: function (data) {
    Backend.api.sidebar({
        user/user': [data.badge, 'orange', 'badge']
    });
}

这里我们指定角标颜色为橙色。

这种方式有个缺点,必须位于当前页面时角标才会显示。

方式2

采用服务端直接渲染的方式,打开application/admin/controller/Index.php文件,找到如下代码

//左侧菜单
list($menulist, $navlist, $fixedmenu, $referermenu) = $this->auth->getSidebar([
    'dashboard' => 'hot',
    'addon'     => ['new', 'red', 'badge'],
    'auth/rule' => __('Menu'),
], $this->view->site['fixedpage']);

把想要显示的菜单加进去即可,示例:

//左侧菜单
list($menulist, $navlist, $fixedmenu, $referermenu) = $this->auth->getSidebar([
    'dashboard' => 'hot',
    'addon'     => ['new', 'red', 'badge'],
    'auth/rule' => __('Menu'),
    'user/user' => [2, 'red', 'badge']
], $this->view->site['fixedpage']);

这种方式的好处是一进后台角标就会显示,每次刷新页面时角标也会刷新。建议两种方式同时使用。

Leave a Comment

豫ICP备19001387号-1