第三部 改进的网站建设
网站建设
正如前两篇博客主要从最终用户以及内容编辑人员的角度对Drupal 8进行了介绍,Drupal 8同样对站点建设工具提供了大量改进。
Views进入核心
Views是Druapal发行版中用量第一的模块,现在跟Drupal 8合体了!大多数Views的主要管理功能例如内容、人员以及文件,还有一些Block,RSS Feeds和首页也已经转换为Views。这一改进使得对这些元素的管理变得轻而易举,比如为人员列表新增一个全名的搜索,只需点几下鼠标即可实现。
所有群众喜闻乐见的Views功能都在集成之列,甚至还包含一点特别的,例如针对移动设备的管理界面,一些可用性和易用性的改进,响应式列表,以及将任何列表导出为JSON文本,从而为外部服务或移动应用提供数据的能力。
##更多的Blocks
在Drupal 8中,Blocks多了一些新特性。首先,跟Views的情况类似,很多以前需要硬编码的站点组件已经被转换为Block,例如面包屑,站点名称和口号。这使得对页面的组织更加轻而易举。
其次,取消了过去只能把Block置入一个区块的限制。现在你可以把Block在多个位置进行放置和复用。例如可以把导航Block同时放倒页头和页脚,而不再需要Multiblock模块。
最后,和内容类型一样,用户还可以创建自定义的Block类型,可以为每个Block在不同的样式,不同的Field下进行调整。例如,创建一个叫”广告”的Block,其中包含一个叫做”Ad Code”的字段,这一字段可以包含从远端广告服务获取到的JavaScript代码。
##Entity和Field的扩展 Drupal 7最为强大的两个建站功能——Entity和Field,在Drupal 8中再次升级。大幅提升了在Drupal中为结构化内容建立数据模型的易用性。
##更多的Field类型
除去Drupal 7中包含的Taxonomy, 图片和文件字段类型之外,Drupal 8添加了一些强大的新字段类型,例如Entity Reference和Date,以及一些常用的字段类型例如电话号码,邮件和链接。甚至连”是否允许留言”的选项也被迁移成为Field,这使得各种类型的Entity都可以进行留言。
##Form模式
在Drupal 7的”模式”特性基础上进行扩展,让内容在不同上下文中使用不同的展示模式(例如,在缩略模式中显示缩略图,而在缺省视图中展示全图),Drupal 8新增了Form模式,用于数据录入Form。下面以用户注册Form举例,这一Form同用户编辑界面不同,可以把复杂的字段隐藏起来,简化注册过程。
##教学模式
Drupal 8带有一个新的教学模块,在管理界面提供了基于上下文的,一步一步的提示,为用户介绍新的术语,并引导用户的站点配置过程。
##模块调整
Drupal 8剥掉了Drupal 7中自带的大量模块,包括博客,仪表盘,OpenID, Overlay, PHP Filter, 投票,Profile和Trigger,另外还有Garland主题。当然Drupal 8也增加了很多功能性的新模块,例如Menu Links/ Menu UI,Block/Custom Block,Ban/History/Actions(以前存在于User/Node/System模块中)。
Heather James的网站搭建预览 讲述了这些模块的变化。
结果就是,Drupal 8核心发型版会自带足够的功能性模块,仅凭这些就可以建立足够成熟的站点,而不是首先安装三十多个模块。
##Migration Path
目前UI还没有完成,所以目前没有截图可用,在Drupal 8中,主版本升级工作由Drupal 8版本的Migrate和Migrate Drupal-to-Drupal模块完成。在Drupal 8的正式版本中将支持从Drupal 6(已经完成)和Drupal 7(正在开发)的迁移。以前的迁移过程要把站点下线,然后用几个小时的时间运行脚本尝试升级数据库,现在可以在Drupal 6,7站点运行的状态下,建立新的Drupal 8站点,运行Migration Path,直到所有工作都完成,简单的改一下Web root或者DNS记录,即可完成迁移。
[Moshed的Drupal 8迁移](https://www.acquia.com/blog/d8migrate),这篇博客描述了改进的升级过程。
##接下来
下星期,我们将会探讨一下Drupal 8中的多语言方面的进展。