3

我正在使用 Liferay 7.2。我想在显示页面模板页面中显示资产发布者的 viewURL 链接。我无法解决问题。经过搜索,我意识到这个问题可以通过三种方式解决:

方法一: 1- 作为管理员,在 Web Content>Structures 中创建一个结构(新闻文章)并为该结构制作一个模板。2- 创建页面 A 并添加资产发布者。在此资产发布者中: 在资产选择中,选择 Web 内容文章作为资产类型,然后选择新闻文章作为子结构。在显示设置选项卡中,选择在上下文中查看作为资产链接行为。3-在站点构建器>页面中创建一个显示页面模板(页面 B)。编辑它并添加类似于页面 A 的资产发布者。但是,在页面 B 中,在资产发布者的配置中,在显示设置中选择将完整内容显示为资产链接行为并勾选设置为此页面的默认资产发布者并仅显示资产以页面 B 作为其显示页面模板。4-创建一些新闻文章。在显示页面模板部分,选择特定显示页面模板和页面 B。

在页面 A 中,一切正常。但是,当我单击资产条目的 ViewURL 时,它将重定向到页面 B。但是,在页面 B 的资产发布者部分,没有显示任何结果(没有结果。)。表示页面 A 的所选资产未显示在页面 B 的显示页面模板中。

方法2: 也许最简单的方法是在Section Builder>Content Display中编辑显示页面模板(页面B)添加显示页面模板。但是,如本期所述,显示页面内容部分仅显示摘要,无法显示样式。也许有必要编辑 abstract.jsp 文件。但是,我不知道该怎么做。

方法三: 创建一个Widget Template并添加到页面B。可以从URL中获取所选资产的文章数据。但是,我无法获取所选文章的数据。

我感谢您在这方面的任何帮助。

4

1 回答 1

1

在显示页面模板中实例化的资产发布者不会显示页面 Web 内容。在显示页面模板中显示 Web 内容的一种方法是实例化片段并将 Web 内容字段映射到它,如此处所示

因此,要解决您的问题,您需要将 Page 的 B Asset Publisher 更改为一个或多个 Fragments,并将您的 News Article 字段映射到它们。

您还可以使用片段字段将 Web 内容映射到您自己的自定义片段lfr-editable

<lfr-editable id="unique-id" type="text">
   This is editable text!
</lfr-editable>

另一种方法是使用此片段(仅适用于 7.3+)在 Freemarker(片段、小部件模板、Web 内容模板等)中获取 Web 内容 Java 对象实例

${Request.INFO_ITEM}
于 2022-02-25T01:54:59.597 回答