2017-03-03 87 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' –