Liferay-删除控制面板菜单
Posted
技术标签:
【中文标题】Liferay-删除控制面板菜单【英文标题】:Liferay- remove Control Panel menu 【发布时间】:2018-01-11 01:04:10 【问题描述】:我正在使用 Liferay 7 GA 4。左侧有 Liefray 菜单(控制面板、用户等...)
我想为普通用户删除此菜单,并使其仅对管理员可见。
任何人都可以帮助我找到我该怎么做?
提前非常感谢
【问题讨论】:
【参考方案1】:您需要将此代码包装在主题中的portal_normal.ftl
中。
<@liferay.control_menu />
您可以创建theme context contributor 向模型中添加一个值,该值将确定用户是否应该获得菜单。
代码可能是这样的
Boolean isAdmin = false;
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
try
Group group = themeDisplay.getScopeGroup();
PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
if (themeDisplay.isSignedIn() && groupPermission.contains(permissionChecker, group,
ActionKeys.VIEW_SITE_ADMINISTRATION))
isAdmin = true;
catch (PortalException e)
LOG.warn(e);
contextObjects.put("is_site_admin", isAdmin);
关键是使用权限检查器。
【讨论】:
...并在页面某处提供“注销”链接,因为该链接也会消失(它是用户个人栏的一部分,您希望将其消失)跨度> 非常感谢。我会尝试这个解决方案。我还有一个问题;我需要将“我的帐户”链接放在此菜单之外(对于普通用户将被删除)并将其放在页面的右上角(例如在注销/用户名等旁边)谢谢非常提前。 您想要整个“我的帐户”子菜单吗? 看看以上是关于Liferay-删除控制面板菜单的主要内容,如果未能解决你的问题,请参考以下文章
将 portlet 移动到 liferay 7 中的控制面板部分?
如何在 liferay 6.2 CE 中创建一个 UserModelListener,它捕获仅在控制面板-> 用户组织中更新的用户详细信息的数据