改善 Drupal 的布局构建器体验

已发表: 2021-03-16

当 Layout Builder 在 Drupal 8.6 中引入并在 Drupal 8.7 中稳定时,它在 Drupal 的生态空间中使用的页面构建机制中造成了漂移。 Layout builder 与 Paragraphs、Brick、Panels 和 Display Suite 等其他工具形成了激烈的竞争。 它独特的拖放组件和实时预览的能力对于页面构建器工具和作者来说是一个真正的让步。

然而,尽管是用于构建页面的惊人工具,但它在用于需要更好的创作能力、受限选择、快速访问以及更重要的是对不同用户角色的细化权限的企业应用程序时有其缺点。

在本文中,我将介绍 10 个 Drupal 贡献的模块,它们可以与出色的 Layout Builder 模块结合使用,这将使该工具更具吸引力和权威性。 为了增加这种令人敬畏的功能,所有这些模块也与 Drupal 9 兼容!

Drupal 布局生成器

这些模块分为某些类别:

  • 样式- 能够访问编辑器以从可应用于部分和块的样式库中进行选择。
  • 创作体验- 增强他们喜爱的编辑的创作体验。
  • 可重用性- 提供在不同页面上重用组件或部分以减少页面构建时间。
  • 快速访问- 提供对编辑器的快速访问以执行某些操作从而节省时间。
  • 权限- 根据他们的访问权限授予对编辑者或其他用户角色的受限访问权限。

布局生成器样式

布局生成器样式是一个强大的 Drupal 模块,允许您直接从 UI 向块和部分添加样式。 它可用于为作者提供从后端定义的预设样式列表中进行选择的能力。

大填充

“样式”只是将应用的一个或多个 CSS 类的表示。 此外,对于块,会为所选样式添加块模板建议。

样式基本上是包含 CSS 类的配置实体。 在配置中添加的类必须在前端主题样式表中定义,以便它们在应用于特定部分或块时反映在前端。 有一个规定可用于具有可应用于单个块或部分的多种样式。

由于样式存储为配置,因此可以使用 Drupal 配置管理将它们轻松导出到配置文件。

但是,您在添加样式时必须负责,因为您为作者提供了强大的能力来更改放置在页面中的组件的样式。 如果计划不当,事情可能会以相互冲突的风格向南发展。

布局生成器组件属性

Layout Builder Component Attributes 模块为作者提供了类似的规定,但有更多的选择,它仅适用于放置在布局中的块。

添加属性

通常,作者需要将某些数据属性或某些 CSS 类/ID 添加到块中以某种方式呈现数据。 有一些模块可用于此类情况,例如 Block 属性和 Block 类,但它们要么缺乏 Layout Builder 的支持,要么需要打补丁才能工作。 Layout Builder Component Attributes 模块提供了将这些详细信息作为属性添加到 Layout Builder UI 中开箱即用的块的选项。

这些模块提供选项 ID、Class(es)、Styles [块的内联样式]、Data-* 属性。 这些属性可以添加到 1) 块(外部)元素、2)块标题和 3)块内容(内部)元素。 这些选项可针对每种元素类型进行配置,即如果您不希望 ID 字段可用于块标题,则可以在模块配置表单中取消选中

“/admin/config/content/layout-builder-component-attributes”

布局生成器模式

Drupal 的 Layout Builder Modal 模块使块配置表单或创建表单(内联块的情况下)的 UI 和创作体验现代化。 显示在画布外对话框侧栏上的表单可能会变得非常麻烦,因为它非常狭窄。 尤其是在处理复杂字段、富文本字段、媒体引用等时。画布外对话框大大降低了可用性,对于此类情况并不理想。

添加块

该模块在一个弹出窗口中打开表单,在那里有大量的喘息空间和增加的可用性。 有可用的配置,您可以在其中设置模式弹出窗口的宽度和高度。 您还可以选择用于模态内容的主题,您可以在其中选择默认启用的主题(在上面的屏幕截图中为 Olivero)和旧的七管理主题。 目前,不支持 Claro,但在这方面正在进行工作以使 Claro 作为替代品可用。

总体而言,该模块极大地增强了编辑器的创作体验和 Layout Builder 的可用性。

布局生成器库

让我们考虑这样一种情况,即编辑需要快速建立一个页面,他们需要根据某些标准(例如,选择特定分类术语)显示某些内容块组件。 现在,这可以通过一种困难的方式来完成,即编辑器创建一个登录页面,然后为具有相同内容但条件不同的多个页面一次又一次地创建相同的布局。 或者,使用 Layout Builder 库模块。

库模块

布局构建器库模块为站点管理员提供了为每个实体类型和捆绑组合创建预定义布局的能力。 现在,这些布局将在创建登陆页面内容时可供站点编辑器使用。 这将使任务变得更容易和更快,编辑人员不必重复重做相同的任务。 该模块还提供细化权限,以限制编辑人员创建自己的定制布局,但让他们能够在每个内容项的基础上自定义布局。

截面库

类似于上面提到的编辑者可能需要从库中的现有布局中进行选择的情况,可能存在编辑者必须在多个页面上重用布局生成器中的某些部分的情况。 这就是部分库发挥作用的地方。 使用该模块,编辑人员可以创建自己的迷你布局,可以在其他页面上重复使用。 这使他们可以更快地创建页面,而无需再次重复执行相同的操作。

模板库

该模块与 Layout Builder Library 模块的主要区别在于后者构建了一个整页模板并且是基于配置的。 部分库是基于内容的,因此内容编辑器可以在没有导入/导出配置的情况下动态创建模板,还可以为部分或多个组合部分(页面)模板构建模板。

两个模块之间没有重叠,可以同时使用。

布局生成器直接添加

Layout Builder 的主要功能之一是能够添加内联块,这些块是特定于页面的不可重用块。 现在,如果您系统中的页面主要依赖于这些内联块作为组件,那么 Layout Builder Direct Add 可以通过节省几次点击来节省一些编辑器的时间。

配置部分

该模块简单地将“添加块”按钮替换为系统中可用块类型的快速下拉按钮,并带有“更多”选项,可打开画布对话框侧边栏。 当编辑器从列表中选择任何块类型时,它会直接打开块表单以创建该组件。

Layout Builder 操作链接

这个小模块是一个很好的网站功能。 要访问实体的布局生成器 UI,编辑器需要访问该页面,然后单击任务栏中的布局选项卡。 布局生成器操作链接向内容概览页面中的内容添加布局选项下拉按钮。

显示列

布局选项将显示在所有启用了布局生成器的实体类型包中。 当内容编辑器想要直接访问实体的布局页面而不先加载其编辑页面时,此链接可以为内容编辑器节省点击/页面加载。

布局生成器限制

开箱即用,Layout Builder 将列出系统中由各种插件和模块提供的所有可用块,字段可用作块,并且有内联块选项可用于创建一次性块。 除此之外,其他模块和主题提供的所有布局也会在放置部分时列出。 这对于编辑者来说可能有点令人困惑和不知所措,并且会带来可用性问题,因为块的数量在企业应用程序中会快速增长。

默认限制

Layout Builder Restrictions 通过提供带有所需选项的可配置布局来解决这个问题。 只要为任何实体显示启用布局生成器,就会出现这些选项。 用于允许列表/拒绝列表块和布局的模块可配置 UI。 站点可以允许来自某个提供商的所有选项,或按提供商限制所有选项,或指定单个允许的块和布局。 站点管理员可以允许/拒绝那些对编辑器构建页面有用的块,并且只有那些块和布局可供编辑器选择。

布局生成器高级权限

尽管 Drupal 为用户角色提供了强大的权限系统,但可能存在基于角色的更细粒度的权限。 当有多个用户角色与系统和页面交互时,可能会出现这种情况。

高级权限

布局生成器高级权限模块为站点管理员提供了根据他们的角色提供受限使用权限的能力。 这些权限是全局的,适用于启用了布局生成器的所有实体类型。 为了更进一步并在更粗略的级别上限制访问,布局构建器锁将派上用场,这将在下一节中介绍。

布局生成器锁

如上所述,Layout Builder Lock 将为用户提供更粗略的访问。 它允许管理员锁定默认布局的部分,以便用户在覆盖单个实体的布局时无法执行某些操作。

行政标签

这些锁定设置将在模块安装后可用,并且可用于所有部分。 有全局权限可用于管理锁定功能的访问。 这些是高级编辑功能,应该非常负责任地添加和使用。 锁定一个部分或一个部分内的任何组件意味着该部分对可变性的访问将非常有限。

快速回顾

  1. 布局构建器样式- 允许站点构建器从样式列表中进行选择以应用于布局构建器块和布局构建器部分。
  2. 布局生成器组件属性- 允许编辑器向布局生成器组件(块)添加 HTML 属性。
  3. 布局生成器模式- 允许您在布局生成器 UI 的模式中添加和配置现有块。
  4. 布局构建器库- 提供一个布局库,允许内容编辑器从预定义布局列表中进行选择。
  5. 部分库- 为单个或多个部分创建可重复使用的模板。
  6. 布局生成器直接添加- 用列出自定义块类型的下拉按钮替换“添加块”链接。
  7. 布局生成器操作链接- 在 Drupal 管理页面上向启用布局生成器的内容添加“布局”操作链接。
  8. 布局生成器限制- 设置哪些块和哪些布局应可用于在布局生成器中放置。
  9. 布局构建器高级权限- 允许通过提供更精细的权限集来详细控制对布局构建器页面的访问。
  10. 布局生成器锁定- 允许管理员锁定默认布局的部分,以便用户在覆盖单个实体的布局时无法执行某些操作。