【问题标题】:How to hide navigation menu in pages that are hidden in Navigation Menu in Liferay?如何在 Liferay 的导航菜单中隐藏的页面中隐藏导航菜单?
【发布时间】:2017-07-24 04:00:38
【问题描述】:

换句话说,我想从其他已在控制面板中选中Hide from Navigation Menu 选项的私人页面隐藏导航菜单。

在我的主题中,我只在私人页面上显示导航菜单:

<#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,但我认为这是一个通用问题。

【问题讨论】:

    标签: liferay-theme liferay-7


    【解决方案1】:

    你走对了路。唯一缺少的是对Layout.isHidden() 的检查:

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

    【讨论】:

    • 我不确定谁对这个答案投了反对票,但这很好用。正是我想要的。非常感谢托比亚斯!
    • 在我检查您的答案之前,我这样做是为了达到预期的效果 - 我从布局中获取页面名称并从私有页面中隐藏导航菜单,如下所示:&lt;#assign the_page_title = layout.getName(locale)/&gt;&lt;#if layout.isPrivateLayout()&gt; &lt;#if has_navigation &amp;&amp; is_setup_complete&gt; &lt;#if the_page_title !="My Custom Page"&gt; &lt;#include "${full_templates_path}/navigation.ftl" /&gt; &lt;/#if&gt; &lt;/#if&gt; &lt;/#if&gt;
    猜你喜欢
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多