2015-01-26 30 views
1

在Liferay 6.1中,我們創建了一個鉤子來隱藏停靠欄中的註銷鏈接。然而,當我看6.2的代碼,我看到以下內容:在Liferay 6.2 Dockbar中隱藏註銷鏈接

<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主題屬性的頁面,並且顯然確定是否顯示/隱藏註銷鏈接不是本地主題屬性之一。

有誰知道,如果你可以設置主題本身來顯示/隱藏註銷鏈接,你會怎麼做呢?

回答

0

我也分析了ServicePreAction代碼,發現所有這些代碼做的是:

  • 檢查,如果用戶登錄或不
  • 如果是,顯示「註銷」鏈接,沒有其他

您可以簡單地創建一個鉤子覆蓋html/portlet/dockbar/view_user_account.jspf要麼從該jsp中刪除該代碼片段以隱藏所有場景或根據您的要求修改條件以顯示/隱藏。

+0

謝謝Rushikesh。我想我會創建另一個鉤子來隱藏鏈接。 – Zendog74 2015-01-27 14:25:57

0

我找到的唯一地方ThemeDisplay.setShowSignOutIconServicePreAction(鏈接主分支在這裏)。這就是說,它看起來不可配置,但您可以輕鬆地在鉤子中創建另一個ServicePreAction。請參見本插件爲例(參考portal.propertiesliferay-hook.xml,但自然也有代碼,我敢肯定,你會發現它並不大。)

另一種選擇 - 如果你只是想無條件地擺脫鏈接:使用CSS來隱藏它。是的,它仍然會在那裏,但任何你選擇隱藏鏈接,actopm at/c/portal/logout仍然可用...

+0

謝謝奧拉夫。如果需要的話,請考慮創建一個插件來處理其他功能。我想到了CSS路由,但是,如果用戶使用不同的主題,則註銷鏈接仍然可用(例如,使用控制面板中的控制面板或經典主題)。 – Zendog74 2015-01-27 14:27:27