Liferay 7.0 - 默认情况下通过主题

时间:2017-01-08 11:21:57

标签: liferay portlet liferay-theme liferay-7

在通过主题搜索设置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行为,其中所有decaration都被禁用,即边框和标题以及其他任何内容。

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

3 个答案:

答案 0 :(得分: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,这正是我想要的。

答案 1 :(得分: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文件中标记为默认值。

答案 2 :(得分:0)

如果其他人偶然发现了这个问题,Liferay 7中的Portlet装饰器已取代此功能。您可以在文档中阅读更多相关信息:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/portlet-decorators