【问题标题】:Liferay 7.2: Open asset publisher viewURL in a Display Page TemplateLiferay 7.2:在显示页面模板中打开资产发布者 viewURL
【发布时间】:2020-01-27 16:36:32
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: themes liferay-7.2


    【解决方案1】:

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

    因此,要解决您的问题,您需要将 Page 的 B 资产发布者更改为一个或多个片段,并将您的新闻文章字段映射到它们。

    您还可以使用 Fragments lfr-editable fields 将 Web 内容映射到您自己的自定义 Fragmets

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

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

    ${Request.INFO_ITEM}
    

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 2017-02-28
      • 2014-04-22
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      相关资源
      最近更新 更多