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

Liferay 7.3:如何预先配置嵌入页面片段中的portlet?

闽念
2023-03-14

我们正在使用Liferay 7.3(CE),并试图用“页面碎片”来拥抱相对较新的“内容页面”功能。我们能够使用开发已经包含portlet的页面片段(在内容页面的上下文中称为小部件)

现在,我们正试图准备嵌入portlet的页面片段,并应用特殊的portlet配置。例如,我们想要准备一个页面片段,它只显示一个资产发布者portlet,该portlet被配置为列出预定义类别中的WebContent文章。用户应该能够将该片段放到页面上,而不必关心资产发布器portlet的配置。

我们没有找到任何直接的方法来实现这一点——我们的第一个猜测是,配置可以作为

有人对如何在应用预定义portlet配置的页面片段中嵌入portlet有什么想法吗?(包括现成的Liferay Portlet?)


共有2个答案

闽阳州
2023-03-14

谢谢你,奥莉西娜。你帮我省了很多麻烦。

另一个选项是使用内置的freeMarkerPortletPreferences,以获得相同的结果,但语法更简单:

[#assign assetPublisherPortletPreferences=freeMarkerPortletPreferences.getPreferences({
    "delta": "12",
} /]
袁华清
2023-03-14

我自己想出来的。

片段编辑器没有告诉您的一件事是,片段的HTML部分实际上被解释为Freemarker模板,但需要注意的是,只允许使用Freemarkers替代语法。

这反过来意味着Liferay标记库可用,这意味着我们可以使用标记

必须注意任何ID(例如,如果您想要预配置Asset类别筛选器)。最好从相应的服务中获取相应的对象,并从该对象中获取ID。

本例提供了页面片段的HTML部分,该页面片段将AssetPublisher放置在页面上,预配置为显示12个项目(而不是默认的20个)。(CSS、JS和片段的配置是页面片段编辑器给出的默认设置。)

<div class="fragment-12345">
  [#assign assetPublisherPortletPreferences="<portlet-preferences>
    <preference>
        <name>delta</name>
        <value>12</value>
    </preference>
</portlet-preferences>" /]
  [@liferay_portlet["runtime"]
    instanceId="${fragmentEntryLinkNamespace}assets"
    portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet"
    defaultPreferences="${assetPublisherPortletPreferences}"
  /]
</div>

 类似资料:
  • 我正在尝试在我的应用程序的三个主屏幕(提要、论坛)之间实现一个简单的滑动操作 在我的情况下,片段并不是同一类的所有实例,而是完全不同的。 M 问题存在于片段页面适配器中。我不确定如何返回 getItem 方法中的每个片段。 我已经尝试了以下内容,但它除了作为有效的返回语句之外没有,并且仍然期待一个: 这是我的一个片段的例子: 这是我的主要活动: 我还尝试定义一个变量电流片段,为每个当语句重新分配它

  • 我有一个ViewPagerContainer片段,在应用程序启动时加载。ViewPagerContainer片段将两个选项卡(选项卡A和选项卡B)添加到操作栏。选项卡B有两个项目的列表视图。 我所做的:我在选项卡B片段中的列表视图项上附加了一个click listener,这样当用户单击一个项时,它会在第一个片段(即选项卡B下)内打开另一个片段(子片段)。 我陷入困境的地方:当用户按下后退按钮时,

  • 配置文件中的指令可能适用于整个服务器,或者它们可能仅限于应用于特定目录,文件,主机或URL。本文档描述了如何使用配置片段容器或文件来更改其他配置指令的范围。 配置片段容器的类型 有两种基本类型的容器。大多数容器针对每个请求都会进行评估。随附的指令仅适用于与容器匹配的请求。另一方面,,和容器仅在服务器启动和重新启动时进行评估。如果糨们的条件在启动时为真,那么所附的指令将适用于所有请求。如果条件不为真

  • 问题内容: 如何将SWF文件嵌入HTML页面? 问题答案: 将SWF嵌入HTML页面的最佳方法是使用SWFObject。 这是一个简单的开源JavaScript库,它是易于使用且符合标准的方法来嵌入Flash内容。 它还提供Flash Player版本检测。如果用户没有所需的Flash版本或禁用了JavaScript,则他们将看到替代内容。您还可以使用此库来触发Flash Player升级。用户升

  • 在Liferay IDE中创建portlet时,我已将其配置为具有Liferay的配置模式。作为回应,wizart创建了包含以下文本的JSP文件: 如何从Liferay调用此页面查看此文本?单击扳手图标并选择时,我看不到类似的内容。 更新 路径设置正确,因为它是由向导设置的。 问题是如何通过鼠标从Web界面调用这个JSP?

  • 我的viewpager适配器在另一个片段中(即主片段中),即我在另一片段中使用了viewpager。所以viewpager适配器有2个片段。 我从主片段连续获取心率值,需要将其发送到视图页管理器适配器,然后查看页管理器适配器将此值发送到此处对文本视图进行分段和更新。 主片段是 i 初始化片段页面进一步用更新的心率值:- 使用接口更新值:- //适配器代码:- } //片段代码被textview定期