我创建了一个主题并复制了Liferay经典主题中的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() />
答案 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;
}