Drupal 8中的Layout Builder入门(译文)

1,085 阅读10分钟

原著:Ivan Zugec

布局生成器模块允许您通过提供新的拖放界面来自定义实体的设计,例如内容类型,词汇表等。新界面使用您的前端主题,并且可以正确预览将要使用的实际内容。

这使构建布局变得更加容易,因为您不必保存并在前端查看外观,就可以在构建时预览更改。

启用后,该模块将使用新的布局生成器替换“管理显示”页面。除了看到页面上的所有字段,您将看到“管理布局”按钮,该按钮将您重定向到布局构建器页面。

入门

从Drupal8.5开始,Layout Builder 模块已纳入Drupal核心,因此您无需下载其他模块。

只需转到扩展并启用Layout Builder(布局生成器)。

注意:Layout Builder在Drupal 8.7中变得稳定,请确保您使用的是最新版本。在旧版本中,这是一个实验性模块。

使用布局生成器自定义内容类型

如前所述,启用Layout Builder后,您将不再需要通过“管理显示”页面来管理字段格式化程序。相反,您将使用Layout Builder的新拖放界面,该界面使用您的前端主题。

现在,让我们使用“文章”内容类型上的模块。我们创建的布局将用于所有文章内容。

1.安装模块后,转到“结构”,“内容类型”,然后在“文章”行上单击“管理显示”。

2.展开“自定义显示设置”并启用“完整内容”查看模式,然后单击“保存”。

3.然后通过单击“管理显示”下面的选项卡进入“完整内容”查看模式。

4.进入“完整内容”查看模式后,滚动到底部,然后单击“布局”选项并选中“使用布局生成器”,然后单击“保存”。

5.在视图模式下启用布局生成器后,您应该只会看到“管理布局”,而不是格式化程序。

原来的样子:

现在的样子:

6.单击“管理布局”时,您将使用不同的界面重定向到前端。

将节添加到布局

通过添加单个部分来构建布局,而不是像使用其他模块(如Panels / Panelizer或Display Suite)那样选择单个布局。一个section可以有一个单列或多个列。

1.让我们从删除默认部分开始。单击X按钮。

2.单击“添加section”,然后选择该section的布局。对于本教程,单击“两栏”。

3.section可以配置,在这种情况下,您可以选择列宽。只需将其保留为“ 50%/ 50%”即可。然后点击“添加section”。

添加后,您将在每个section区域看到一个“添加区块”链接。

如果要更改section区域的宽度,只需单击“配置section”进行调整。

将块添加到section区域

一旦添加了section,就可以将区块添加到section区域中。添加区块非常简单,只需单击“添加区块”,“选择区块”选项将从右侧滑出。

选择一个区块

只需单击即可从右侧选择区块。您甚至可以使用“按区块名称过滤”文本字段按名称过滤来查找区块。在布局构建器模块的上下文中,“区块”超出了您通常认为的区块。特别是如果您习惯通过“区块布局”页面将块添加到主题区域中。一方面,内容字段显示为区块。

在Layout Builder中,内容类型的字段显示为区块,这意味着可以将其添加到section区域。所有字段均应归入“内容字段”下。

随着创建更多字段,此列表将增加。

让我们通过在左侧列中添加“ Authored on”字段来继续构建布局。单击左栏中的“添加区块”,然后按区块名称进行过滤。

当您单击要添加的区块时,就可以调整字段格式器。配置格式化程序后,单击“添加区块”。

继续并在右列中添加已更改字段。

您会注意到,添加字段时,可以配置其使用的格式化程序。布局生成器仍将使用其格式程序呈现该字段。

您可以通过将鼠标悬停并单击铅笔图标来编辑区块。您将获得一个下拉菜单,您可以在其中选择配置,移动或删除区块。

移动区块

可以通过单击区块并将其拖动到新的section区域,来将其移动到其他section区域。

完成构建文章内容类型布局

现在,您知道如何在布局中添加一个section,并在这些section中添加区块,让我们完成构建Article内容类型。

到目前为止,我们只有一个两列的区域,左侧为“ Authored on”(授权于)字段,右侧为“ Changed”(更改)字段。现在,我们将为“图像”,“正文”,“标签”和“注释”字段创建其他部分。

正文和图像字段

1.单击当前栏下方的“添加section”,然后选择“两栏”,从“栏宽”下拉列表中选择“ 25%/ 75%”,然后单击“添加section”。

2.单击左列中的“添加区块”,然后向其中添加图像字段。

3.单击右侧的“添加区块块”,然后将“正文”字段添加到其中。

4.单击我们刚刚为图像和正文创建的section下面的“添加section”,在这一section中,我们将添加标签和注释字段。选择此section的“一列”布局。

5.单击“添加区块”,然后在其中添加标签和注释字段。

6.您可以通过取消选中“保存布局”按钮正下方的“显示内容预览”来关闭字段预览。

这使移动字段变得更加容易,并且易于查看所有字段,因为有时字段预览占用了大量空间。

添加所有必填字段后,布局应如下所示。

7.滚动到顶部,然后单击“保存布局”。

覆盖默认布局

我们构建的布局将应用于所有文章。但是,如果要自定义单个文章的布局怎么办?如果您想为文章添加额外的页脚怎么办?

布局生成器使您可以覆盖单个内容项的默认布局。

要覆盖布局,您需要打开功能,默认情况下该功能处于关闭状态。

转到“管理显示”页面,您之前在其中选中了“使用布局生成器”,然后选中“允许每个内容项自定义其布局”。然后点击保存。

现在,如果您转至一篇文章,应该会看到“布局”选项卡按钮。

现在,您可以使用相同的界面修改布局。但是,这只会更改此特定内容的布局。

如果您想将布局恢复为默认设置,可以单击“恢复为默认设置”。

使用布局生成器作为页面生成器

在上面的部分中,我们研究了如何使用Layout Builder来定制Article内容类型。创建的任何文章都将具有相同的布局。现在,通过定制单个内容的布局,将模块用作页面构建器。

但是在开始之前,我们需要在“基本页面”内容类型上启用Layout Builder。

1.转到结构,内容类型,然后单击“基本页面”行上的“管理显示”。

2.通过转到“自定义显示设置”并启用它来启用“完整内容”查看模式。

3.转到“完整内容”,然后选中“使用布局生成器”,这是很重要的,请选中“允许每个内容项自定义其布局。”

“允许每个内容项...”选项使我们可以根据每个内容自定义布局。

这是我们将创建的屏幕截图:

我们将使用两个section和三个区块创建一个自定义主页。

创建基本页面

现在,让我们继续使用“基本页面”内容类型创建一个主页。

1.转到内容,“添加内容”和“基本页面”。

2.在标题中输入首页,然后单击保存。不用担心在“正文”字段中添加任何内容,因为我们将使用“布局生成器”来创建页面。

3.您应该在Delete旁边看到一个名为Layout的新标签,继续并单击它。

添加对齐按钮

标题栏中的文本将居中对齐。但是,我们需要在编辑器中添加对齐按钮才能实现这一点。

转到“配置”,“文本格式和编辑器”,然后在“基本HTML”行上单击“配置”。

通过将调整按钮拖动到“活动工具栏”中,将其添加到编辑器中。

该按钮的工作原理是将一个类添加到元素text-align-center,例如text-align-right,text-align-justify等等。但是,我们需要更改“限制允许的HTML标记并纠正错误的HTML”过滤器,以允许将类添加到元素。

向下滚动到“允许的HTML标签”,然后添加class到

并添加标题标签。

原来的样子:

<h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <p>

修改后的样子:

<h2 id class> <h3 id class> <h4 id class> <h5 id class> <h6 id class> <p class>

现在,您可以使用“基本HTML”文本格式对齐(或证明)内容。

添加自定义区块

配置了文本格式后,我们添加标题文本。

1.在页面顶部添加“一列”section。

2.然后单击“添加区块”,“创建自定义区块”。

您可以使用布局生成器添加任何自定义块类型。您可以转到/ admin / structure / block / block-content / types查看所有可用的区块类型。

3.在“标题”字段中添加“标题文本”,然后取消选中“显示标题”。

4.然后在编辑器中输入一些文本并将其居中,然后单击“添加区块”。

例子:

欢迎来到Drupal

Drupal是使用PHP编写的功能强大的开源CMS。

将区块添加到该section后,您应该会看到实际区块内容的预览。当然,请确保已选中“显示内容预览”以查看它。

嵌入图像

现在让我们看一下嵌入图像。

我们嵌入图像的方法是使用Entity Embed模块将图像嵌入Basic块。这将使我们不必创建自定义区块类型。

1.我不会在本教程中介绍如何使用实体嵌入,因为我已经在“ 在Drupal 8中使用Core Media管理媒体资产 ”教程中对此进行了介绍。(这篇文章也会翻译发布)

2.配置了实体嵌入后,创建一个“两列”section。将“列宽”下拉列表设置为“ 25%/ 75%”。

3.单击左侧的“添加区块”,然后单击“创建自定义区块”。

4.使用创建的“实体嵌入”按钮将图像嵌入编辑器。

5.单击右侧的“添加区块”,然后添加一些虚拟文本。

一旦所有区块都就位,您的布局应如下所示:

6.单击保存布局并祝贺您,您已经使用布局生成器模块创建了自定义页面。

总结

我们在本教程中介绍了很多内容。我想向您展示,您可以使用布局生成器来自定义实体布局,也可以将其用作页面生成器。该模块可以代替用于构建复杂页面的段落吗?

这取决于您要赋予编辑器多少灵活性。