在Liferay 6.2 Dockbar中隐藏注销链接

时间:2015-01-26 19:50:52

标签: liferay liferay-6 liferay-theme

在Liferay 6.1中,我们创建了一个钩子来隐藏停靠栏中的注销链接。但是,当我查看6.2的代码时,我看到以下内容:

<c:if test="<%= themeDisplay.isShowSignOutIcon() %>">
    <aui:nav-item cssClass="sign-out" href="<%= themeDisplay.getURLSignOut() %>" iconCssClass="icon-off" label="sign-out" />
</c:if>

无论我多少谷歌,我都找不到对themeDisplay.isShowSignOutIcon()的任何引用,除了API参考,这对我没什么好处,因为它根本没有评论。我确实找到了讨论本机LR主题属性的页面,并且显然确定是否显示/隐藏注销linkn不是本机主题属性之一。

是否有人知道您是否可以设置主题本身以显示/隐藏退出链接以及您将如何进行此操作?

2 个答案:

答案 0 :(得分:0)

我发现调用ThemeDisplay.setShowSignOutIcon的唯一地方是ServicePreAction(此处链接主分支)。话虽如此,看起来它不可配置,但您可以轻松地在钩子中创建另一个ServicePreAction。请参阅此插件中的示例(引用portal.propertiesliferay-hook.xml,但自然也有代码,我相信你会找到它。它并不大)

另一种选择 - 如果你只是想无条件地摆脱链接:使用CSS来隐藏它。是的,它仍然存在,但是你选择隐藏链接的任何方式,/ c / portal / logout上的actopm仍然可用......

答案 1 :(得分:0)

我也分析了ServicePreAction代码,发现所有这些代码都是:

  • 检查用户是否已登录
  • 如果是,则显示“退出”链接,否则显示

您可以简单地创建一个挂钩来覆盖html/portlet/dockbar/view_user_account.jspf,从该jsp中删除该代码片段以隐藏所有场景,或者根据您的要求修改条件以显示/隐藏。