当前位置: 首页 > 知识库问答 >
问题:

Liferay 7.0-默认情况下通过主题使所有Portlet无边框

安泰平
2023-03-14

在通过主题寻找设置portlet默认外观问题的解决方案后,我在WEB-INF/liferay外观中尝试了以下内容。xml:

<setting configurable="true"
         key="portlet-setup-show-borders-default"
         type="checkbox"
         value="false"
/>

然而,它似乎在Liferay 7.0 GA3上不起作用,已经没有地方可以寻找解决方案了。

我的要求是一个默认的portlet行为,其中所有十进制都被禁用,即边框和标题以及其他任何东西。

值得一提的是,我正在使用新的主题生成器/Gulp构建管道。非常感谢任何指针。

共有3个答案

韦原
2023-03-14

如果其他人偶然发现这个问题,那么在Liferay 7中,此功能已被Portlet装饰器所取代。有关这方面的更多信息,请参阅文档:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/portlet-decorators

简景焕
2023-03-14

方法在概念上有一个小问题:WEB-INF/liferay外观上的设置条目。xml仅用于为您提供一个配置选项,而不管您实际如何实现其行为。您建议的解决方案可以工作,但这不是由于设置条目-您的模板似乎没有使用它,请尝试通过UI在主题配置中切换它。。。

无需更改模板,避免UI中隐藏的功能,就可以使用装饰器。喜欢在

<portlet-decorator id="borderless" name="Borderless">
    <default-portlet-decorator>true</default-portlet-decorator>
    <portlet-decorator-css-class>portlet-borderless</portlet-decorator-css-class>
</portlet-decorator>

同一文件中的此配置允许您创建CSS类,如下所示:

.portlet-borderless {

    .portlet-content-editable {
        border-style: none;
    }

    .portlet-content {
        background: rgba(255,255,255,.90);
    }
}

此类将应用于所有portlet,因为它在xml文件中被标记为默认值。

都飞跃
2023-03-14

与问题中提到的设置一起,从portlet.ftl底部注释或删除如下:

<div class="${portlet_content_css_class}">
<#--<#if portlet_display.isShowBackIcon()>-->
    <#--<a class="icon-monospaced portlet-icon-back text-default" href="${portlet_back_url}" title="<@liferay.language key="return-to-full-page" />">-->
        <#--<@liferay_ui["icon"]-->
                <#--icon="angle-left"-->
        <#--markupView="lexicon"-->
            <#--/>-->
    <#--</a>-->
<#--</#if>-->

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

${portlet_display.writeContent(writer)}
</div>

这应该删除所有portlet标题,这样您就不能在使用这个主题的站点上拥有一个有标题的portlet,这正是我想要的。

 类似资料:
  • 我不能让所有p:手风琴面板选项卡关闭 我尝试了上述两种建议的解决方案,在JSF Primefaces中隐藏了accordion面板的第一个选项卡,但如果accordionPanel的value属性是EL表达式,它对我来说就不起作用。第一个选项卡始终处于打开状态。 我试过了 无功而返 和 仅当accordionPanel没有值属性时才有效 感谢任何帮助。 我有素数表3.3。1.

  • 所以基本上我有一个学校的项目,它包含一个time循环中的开关语句。 假设我输入“1”,它在大小写“1”中运行代码。然后它应该在之后中断。但默认代码也总是运行。 这是案例“1”代码: 这是默认代码: 以下是输出: 我很有信心我的代码是正确的,但是如果我缺少什么,请告诉我如何修复它,谢谢。

  • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

  • 为什么引用类型对象o无法访问变量a。它显示错误a无法解决或不是字段。

  • 我实现了一个在另一个堆栈溢出post上找到的方法,允许使用jQuery展开和折叠表行。该方法很简单,工作正常,但我遇到了缺省情况下扩展行的问题。我如何使这些在页面加载时显示为折叠的,以便用户可以决定展开哪些? 作为一个附带说明,有没有什么方法使折叠/展开看起来更平滑,而不是只是瞬间打开或关闭? 谢谢!

  • 当我打开它时,所有操作都显示为折叠,并且我希望它在默认情况下展开。 有什么我需要改变的属性来实现它吗? 这是我的霸气豆: