首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过FreeMarker在WebContent模板中配置Asset

通过FreeMarker在WebContent模板中配置Asset
EN

Stack Overflow用户
提问于 2017-04-04 06:27:27
回答 1查看 706关注 0票数 2

我可以通过以下方式在web内容模板中添加资产发布者portlet

代码语言:javascript
复制
<@liferay_portlet["runtime"]
defaultPreferences="${freeMarkerPortletPreferences}"
portletProviderAction=portletProviderAction.VIEW
portletProviderClassName="com.liferay.asset.kernel.model.AssetEntry"/>

但是,我希望过滤资产发行者库中显示的内容。从Liferay控制台,它将类似于下面的屏幕显示。如何在web内容模板中以编程方式完成此操作?

我尝试过像下面这样的代码来修改首选项,但它们并没有生效。

代码语言:javascript
复制
<#assign VOID = freeMarkerPortletPreferences.setValue("selectionStyle", "manual")>
EN

回答 1

Stack Overflow用户

发布于 2022-04-21 15:27:21

五年后..。但是我今天一直在为这件事而奋斗,所以我在这里留下了一个未来的例子:

代码语言:javascript
复制
<#assign defaultPreferencesValues = freeMarkerPortletPreferences.getPreferences({
        "displayStyle": "ddmTemplate_1661082",
        "classNameIds": "20109",
        "classTypeIds":["98680","1760136"],
        "classTypeIdsJournalArticleAssetRendererFactory":"98680,1760136"
    }) />


    <@liferay_portlet["runtime"]
        instanceId="xxxlove"
        defaultPreferences=defaultPreferencesValues
        portletProviderAction=portletProviderAction.VIEW
        portletProviderClassName="com.liferay.asset.kernel.model.AssetEntry"
    />

要了解哪些是首选项,可以在页面中配置资产发布者,获取其实例id并在数据库中查看其首选项。

代码语言:javascript
复制
select * from portletpreferencevalue where portletpreferencesid in (select portletpreferencesid from portletpreferences where portletid like 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_8sDabfIMRUKu');

在Liferay 7.4.3.20测试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43199812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档