【问题标题】:How to add custom layout to page fragment in Liferay 7.3如何在 Liferay 7.3 中为页面片段添加自定义布局
【发布时间】:2021-02-08 10:45:12
【问题描述】:

我已按照本教程https://help.liferay.com/hc/en-us/articles/360018167031-Creating-Layout-Templates 为 Liferay 7.3 创建自定义布局。使用应用管理器手动将布局部署到 Liferay 后,我无法在 Fragment 和 Widget 选项中找到自定义布局。

当我签入全局菜单 > 控制菜单 > 组件 > 布局模板时。我可以看到我的自定义布局。

我是否遗漏了什么或有任何其他方法可以将自定义布局添加到片段和小部件选项?

谢谢

【问题讨论】:

    标签: liferay-7


    【解决方案1】:

    我们正在经历同样的情况。在 7.1 之前,我们使用 Widget Pages 上的布局模板来在我们组织的 Intranet 上实施一致的设计,同时仍然拥有每个部门的作者(请参阅 Herding Cats)。

    新要求,包括用户对页面布局和简化编辑的总体控制以及个性化(使用分段)的总体愿望,迫使我们在内容页面中实现小部件页面(和布局模板)的功能。到目前为止,页面片段部分(正如 @orithena 建议的那样)为我们提供了前进的道路。

    现在,我们正在开发 7.2。 7.3 似乎更进一步地采用了这个概念,具有上述的拖放区、嵌套行布局和母版页。

    【讨论】:

      【解决方案2】:

      您错过了一个重要信息:“布局模板”仅适用于“小部件页面”类型的页面(Liferay 6 及更早版本中默认且几乎唯一的页面布局方法)。另一方面,“页面片段”仅适用于“内容页面”类型的页面(出现在 7.0 和 7.3 之间)。您可以在创建页面时通过选择相应的页面模板之一来设置页面的类型。

      因此,如果您想创建特定的行/列布局作为“内容页面”的模板,您可能需要查看the page fragment type "section"。基本上,您将创建一个在其 HTML 中包含一些 <lfr-drop-zone id="invent-your-own-id"></lfr-drop-zone> 标记的页面片段。目前关于 dropzones 的文档非常稀少(我找到的最佳来源是 Liferay's issue tracker 加上您自己的实验),但由于此标签目前不允许比 id 更多的属性,您可以简单地尝试一下。

      (旁注:由于某些标准文档中的一些奥秘,你不能使用<lfr-...>标签的自闭合形式,所以<lfr-drop-zone id="abc" />会静默失败。另外,请记住the HTML part of a page fragment actually will be interpreted as an FTL template using Freemarkers alternative syntax before <lfr-...> 标签被解释。这使您可以选择使用循环放置可配置数量的放置区。)

      但是:花点时间检查一下您是否真的需要自定义“dropzone 布局”,因为 Liferay 已经在内容页面编辑器中为您提供了可配置的“行部分”;任何更复杂的东西都会让你在让它响应时感到头疼。

      【讨论】:

      • 您好orithena,感谢您的解释。你是对的,我错过了重要的部分“布局模板”。现在我可以按照此文档help.liferay.com/hc/en-us/articles/… 创建我的自定义页面片段。
      猜你喜欢
      • 2021-10-29
      • 2020-08-19
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多