0

在通过主题搜索设置portlet默认外观问题的解决方案后,我尝试了以下方法WEB-INF/liferay-look-and-feel.xml

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

但是,它似乎不适用于 Liferay 7.0 GA3,并且已经没有地方可以寻找解决方案了。

我的要求是一个默认的 portlet 行为,其中所有声明都被禁用,即边框和标题以及其他任何内容。

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

4

3 回答 3

0

这种方法有一个小的概念问题:WEB-INF/liferay-look-and-feel.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 文件中被标记为默认值。

于 2017-01-14T19:11:59.020 回答
0

万一其他人偶然发现了这个问题,在 Liferay 7 中这个特性已经被 Portlet 装饰器取代了。你可以在文档中阅读更多关于这个的信息:https ://dev.liferay.com/develop/tutorials/-/knowledge_base/7 -0/portlet 装饰器

于 2017-09-01T16:37:09.887 回答
0

连同问题中提到的设置一起从 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,这正是我想要的。

于 2017-01-08T12:57:05.147 回答