进阶篇46. Drupal中的排版5

除了前面几篇提到的可以用来排版的方法,Drupal8的内核还为我们提供了另外两个相关的途径,一个是Views,一个是CkEditor。Views是我们第一篇后半段的重点,这里就不再重复了。我们在第一篇的末尾探讨了用CSS Grid layout技术来为views生成的列表实现一个创新的排版效果,有兴趣的同学可以点击《基础篇37. 挑战views的极限(1)》。

而CkEditor当然也是一个可以用来排版的工具,作为官方认可并被加入到Drupal8内核中的CkEditor有着众多插件,因此,除了实现基本功能外,还可以通过安装插件来实现很多更具体的功能。对于新手来说,CkEditor以及它对应的插件是绝对有必要花时间去了解的东西。

但是任何Wysiwyg编辑器的排版功能都应该被归纳到office word排版的范畴,而不是网页排版的范畴,因此,我们在这里不做过多的讨论。顺便插一句,很多人可能对“Wysiwyg编辑器”这个名词存在记忆上的困难,其实很简单,所谓的“wysiwyg”所对应的英文是“what you see is what you get”,所以“wysiwyg editor”的意思其实很简单,就是“所见即所得编辑器”的意思。

到这里,我们就已经把传统意义上由Drupal8核心提供的排版工具全部都讲述到了。最为一个合格的主题开发者,你必须熟练掌握上面说过的所有知识点(CkEditor除外),这包括:区域、区块、模板文件、管理显示和views。以他们为基础,你可以做出任意布局和样式的页面。

但是,除此之外,为了应对更复杂的需求,有的时候我们还可能会借助到其他模块去实现排版。这一方面给主题开发者更多的选择余地,另一个方面让不会写代码的site builder也能够通过这些模块实现排版。比如Paragraphs,Display Suite,Panelizer和Panels,我们会在之后的内容中再找机会介绍他们。

接下来,我们先把目光聚焦到由官方最新加入Drupal8核心的Layout Builder模块。这个模块从Drupal8.3以实验模块的角色进入核心,经过几个小版本的升级之后,逐渐稳定下来,成为解决页面布局问题的新的利器。

如果你在Drupal圈子里混得够久,你一定会知道在Drupal8之前的时代里,人们对于到底应不应该使用 Display Suite或者Panels的问题争论不休;如果要用的话,应该用哪一个,也没有答案。结果随着Drupal8的发布,另一个模块就像黑马一样迅速而又强势的出现在人们眼前,并连续2年霸占了各种Drupal聚会的最热门话题,这个模块就是Paragraphs。逐渐的,人们会在很多场合下把Paragraphs搬出来希望能终结之前的争论。基本上,只要你的页面足够复杂,你又不知道应该选择哪个工具的时候,就会有人问你“为什么不统统用Paragraphs来做”。——实际上,在核心的layout builder出现之前,Paragraphs的出现几乎改变了游戏规则。但是,就好像所有的前端技术一样,热过一阵子之后,总会出来一些人开始抱怨Paragraphs也还是存在缺点的,这个我们以后再具体说。

以上这些情况的出现,说明这些模块一方面带来了某些好处的同时,也会导致另外一些问题的产生,因此,喜欢的很喜欢,不喜欢的人则嗤之以鼻。

那么现在,在views和CkEditor都入核的情况下,官方自己推出了layout builder模块,其实也就意味着以官方的角色对人们的争论给与一个答复,那就是——他们做得都不够好,我们亲自来做一个更好的,而这个行为的产物就是layout builder。

那么,什么样的排版工具才是对于site builder来说好用的工具呢?很显然,传统的排版方式(区域+区块+模板文件+管理显示)太难了,需要会写前端代码,因此才会出现其他的用于排版的模块。

官方对于这个模块的定性是这样的:

To turn the resulting module into that user-friendly, powerful and empowering page builder that all Drupal site builders had been expecting.

我的理解是,对于site builder来说,好的排版模块应该具有至少以下两个特点:

  1. 强大、灵活——这意味着,通过这个模块,你可以完全控制网站上的每一个节点的页面的布局。
  2. 简单、凭直觉——这意味着整个排版流程足够简单并且可以靠直觉去完成,而不需要在事前有额外的学习。

如果你用过Paragraphs,Display Suite,Panelizer和Panels,你就一定知道,他们在某些方面都很强大,但是在易用性上,无论是界面还是流程都不能被称为简单,基本上没有人可以仅仅凭直觉就能得到他们想要的结果。

因此接下来,我们先来看看在Drupal中,排版的问题,到底是个什么性质的问题,然后将尝试使用layout builder来控制页面的排版,并看看它有哪些过人之处。

本书共89小节:

评论 (写第一个评论)