在Liferay 6.2 Dockbar中隐藏注销链接

在Liferay 6.2 Dockbar中隐藏注销链接,liferay,liferay-6,liferay-theme,Liferay,Liferay 6,Liferay Theme,在Liferay 6.1中,我们创建了一个钩子来隐藏dockbar中的注销链接。但是,当我查看6.2的代码时,我看到以下内容: <c:if test="<%= themeDisplay.isShowSignOutIcon() %>"> <aui:nav-item cssClass="sign-out" href="<%= themeDisplay.getURLSignOut() %>" iconCssClass="icon-off" label=

在Liferay 6.1中,我们创建了一个钩子来隐藏dockbar中的注销链接。但是,当我查看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主题属性并确定是否显示/隐藏注销链接的页面,该页面不是本机主题属性之一


有人知道您是否可以将主题本身设置为显示/隐藏注销链接,以及如何执行此操作吗?

我找到的唯一调用
ThemeDisplay.setShowSignOutIcon
的地方是在(此处链接主分支)。尽管如此,它看起来是不可配置的,但您可以轻松地在钩子中创建另一个ServicePreAction。请看这个插件中的一个例子(引用和,但当然也有我相信你会找到的代码。它不是很大)


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

我也分析了ServicePreAction代码,发现这些代码所做的全部工作是:

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

您可以简单地创建一个钩子来覆盖
html/portlet/dockbar/view\u user\u account.jspf
,从这个jsp中删除代码片段以在所有场景中隐藏它,或者根据您的需求修改条件以显示/隐藏。

谢谢Rushikesh。我想我会创建另一个钩子来隐藏链接。谢谢奥拉夫。如果我们需要的话,创建一个插件来处理其他功能是一个不错的想法。我想到了CSS路由,但是,如果用户使用不同的主题,注销链接仍然可用(例如,使用控制面板或控制面板中的经典主题)。