如何删除liferay主题中的导航菜单标题?

时间:2017-03-04 00:48:00

标签: liferay-theme liferay-velocity liferay-7

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

enter image description here

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

但我的问题是,我在主题中做了什么,以便标题不会出现在任何地方。

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() />

2 个答案:

答案 0 :(得分:2)

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main(void) {

char content[255];
char newcontent[255];

FILE *fp1, *fp2;
fp1 = fopen("test1.mal", "r");
fp2 = fopen("output.txt", "w");

if(fp1 == NULL || fp2 == NULL)
{
printf("error reading file\n");
exit(0);
}
printf("files opened correctly\n");
while(fgets(content, sizeof (content), fp1) !=NULL)
{
fputs(content, stdout);
strcpy (content, newcontent);
}

printf("%s", newcontent);
printf("text received\n");

while(fgets(content, sizeof(content), fp1) !=NULL)
{
fprintf(fp2, "output.txt");
}
printf("file created and text copied\n");

//fclose(fp1);
//fclose(fp2);
//return 0;
}

Classic主题中的portlet.ftl具有:

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

我在h2周围添加#if语句到我的portlet.ftl,现在如果Barebone是portlet的选择装饰器,则不会显示标题。无论是通过模板还是通过管理中的“外观”菜单设置Barebone都可以。

答案 1 :(得分: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; }