让Liferay中dockbar基于权限显示

参考:http://www.huqiwen.com/2016/06/07/liferay-dockbar-permission/

Liferay是上方的那条我们将他称为dockbar,在dockbar上可以操作页面的编辑、portket的添加、站点的跳转、控制面板的入口等。

有些场景下我们可能不想让dockbar显示,或者是想让他基于权限显示。

dockbar的定义是在主题的templates/portal_normal.vm里面,我们在里面可以看到如下的代码:

#dockbar()

或者

#if ($is_signed_in)
 #dockbar()
#end

前者是dockbar一直显示,后才表示用户登录后显示,如果没有登录只在右上角一个登录的链接。

如果我们想只有超级管理员显示,者使用如下代码:

#if ($permissionChecker.isOmniadmin())
 #dockbar()
#end

其中的$permissionChecker.isOmniadmin()来判断是不是超级管理员,如果是则显示,如果不是则不显示。

同样的我们基于permissionChecker可以做更多的权限判断。

$permissionChecker.isOrganizationAdmin()是否是组织机构管理员;

$permissionChecker.isGroupAdmin是否是站点管理员;

$permissionChecker.isGroupMember是否是当前站点的成员;

$permissionChecker.isCheckGuest是否是未登录用户;

通过这些的组合使用,可以根据自己的需要来自由的控制dockbar的显示。

posted @ 2020-10-12 12:35  溶洞  阅读(159)  评论(0编辑  收藏  举报