Как удалить заголовок меню навигации в теме Liferay?

Я создал тему и скопировал navigation.ftl из классической темы Liferay, но в моей теме заголовок навигации отображается, как показано на снимке экрана ниже.

введите здесь описание изображения

Если я вошел в систему как администратор, я могу отредактировать текст и сделать его пустым, а затем сохранить, и он исчезнет. Но когда я обновляю страницу, она возвращается, и я думаю, что это ошибка.

Но у меня вопрос, что мне сделать в теме, чтобы заголовок вообще нигде не отображался.

Фрагмент кода из 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() />

person dev_in_prog    schedule 04.03.2017    source источник


Ответы (2)


У меня была та же проблема, и я обнаружил, что в моей пользовательской теме (начиная с темы Styled с использованием генератора тем) в файле portlet.ftl есть строка:

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

В файле portlet.ftl классической темы:

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

Я добавил этот оператор #if вокруг h2 в свой portlet.ftl, и теперь заголовок не отображается, если для портлета выбран декоратор Barebone. Это работает независимо от того, установлен ли Barebone через шаблон или через меню Look and Feel в админке.

person LIannotti    schedule 06.04.2017
comment
Большое спасибо! Обновлю мой код до этого простого подхода! - person dev_in_prog; 28.04.2017

Мне удалось скрыть заголовок (портлета меню навигации), используя следующий CSS в моей пользовательской теме.

.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; }

person dev_in_prog    schedule 13.03.2017
comment
Итак, удалось обновить источник, где эти классы применялись в файлах шаблонов? - person Shivam Aggarwal; 21.03.2017