2017-03-03 95 views
1

換句話說,我想隱藏導航菜單的其他私人頁面,在控制面板中檢查了選項Hide from Navigation Menu如何在Liferay的導航菜單中隱藏的頁面中隱藏導航菜單?

在我的主題,我展示的唯一的私人頁面的導航菜單:

<#if layout.isPrivateLayout()> 
    <#if has_navigation && is_setup_complete> 
     <#include "${full_templates_path}/navigation.ftl" /> 
    </#if> 
</#if> 

而且我想進一步把它藏在一些私人網頁(的那些用戶作爲超鏈接打開) 。它們不是導航菜單的一部分,因爲我檢查了選項Hide from Navigation Menu - 但導航菜單確實顯示在其中。

如果沒有這樣做的直接方式,我如何獲取頁面名稱並將導航菜單設置爲不顯示在這些頁面中。

我使用的是Liferay 7 CE GA2,但我相信這是一個通用的問題。

回答

1

你遵循正確的軌道。唯一缺少的是檢查Layout.isHidden()

<#if layout.isPrivateLayout() && !layout.isHidden()> 
    <#if has_navigation && is_setup_complete> 
     <#include "${full_templates_path}/navigation.ftl" /> 
    </#if> 
</#if> 
+0

我不確定誰downvoted這個答案,但這工作得很好。正是我在找的東西。感謝一羣Tobias! –

+0

在我檢查你的答案之前,我是這樣做的,以達到預期的效果 - 我從佈局中獲取頁面名稱並從私人頁面隱藏導航菜單,如下所示: '<#assign the_page_title = layout.getName(locale) />' '的<#if layout.isPrivateLayout()> \t \t \t \t的<#if has_navigation && is_setup_complete> \t \t \t \t \t的<#if the_page_title!= 「我的自定義頁面」> \t \t \t \t \t \t <#包括 「$ {full_templates_path} /navigation.ftl」/> \t \t \t \t \t \t \t \t \t \t \t \t' –