2

我创建了一个主题并从 Liferay Classic Theme 复制了navigation.ftl,但在我的主题中,导航标题显示如下面的屏幕截图所示。

在此处输入图像描述

如果我以管理员身份登录,我可以编辑文本并将其设为空白并保存,然后它就会消失。但是当我刷新页面时,它又回来了,我认为这是一个错误。

但我的问题是,我要在主题中做什么才能让标题在任何地方都不会出现。

来自 navigation.ftl 的代码片段

<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId",     "barebone") />

<div aria-expanded="false" class="collapse navbar-collapse" id="navigationCollapse">
<#if has_navigation && is_setup_complete>
    <nav class="${nav_css_class} site-navigation" id="navigation" role="navigation">
        <div class="navbar-right">
            <@liferay.navigation_menu default_preferences="${freeMarkerPortletPreferences}" />
        </div>
    </nav>
</#if>
</div>

<#assign VOID = freeMarkerPortletPreferences.reset() />
4

2 回答 2

2

我遇到了同样的问题,发现在我的自定义主题中(从使用主题生成器的 Styled 主题开始)portlet.ftl 文件具有以下行:

    <h2 class="portlet-title-text">${portlet_title}</h2>

Classic 主题中的 portlet.ftl 具有:

    <#if portlet_display.getPortletDecoratorId() != "barebone">
        <h2 class="portlet-title-text">${portlet_title}</h2>
    </#if>

我将h2 周围的#if 语句添加到我的portlet.ftl 中,如果Barebone 是为portlet 选择的装饰器,则现在不显示标题。无论准系统是通过模板设置还是通过管理中的外观菜单设置,这都有效。

于 2017-04-06T22:56:06.237 回答
0

我能够在我的自定义主题中使用以下 CSS 隐藏标题(导航菜单 portlet)

.portlet-static.portlet-static-end.portlet-barebone.portlet-navigation .portlet-content.portlet-content-editable .portlet-title-text { display:none !important; }

编辑:当我仅以管理员身份登录时,上述解决方案有效。

我将其替换为以下内容,以便对普通用户也隐藏它:

section#portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet.portlet h2.portlet-title-text { display:none !important; }

于 2017-03-13T17:28:22.393 回答