Drupal 概念

版本

Release Date
发布日期
8.2.4 2016 年 12 月 7 日
7.53 2016 年 12 月 7 日
6.38 (不支持) 2016 年 2 月 24 日
5.23 (不支持) 2010 年 8 月 11 日

实体类型

在 Drupal 的早期版本中,现场系统仅用于内容类型。现在,由于 Entity API,我们可以将字段添加到其他内容,例如注释。可现场实体使 Drupal 非常灵活。实体类型是将字段组合在一起的有用抽象。以下是 Drupal 核心中的实体类型:

  • 节点(内容)
  • 评论
  • 分类术语
  • 分类词汇表
  • 用户

你还可以构建新类型的实体类型,其中上述选项不适合你的需求。

绑定

Bundles 是可以附加字段的实体类型的实现。你可以将 bundle 视为实体类型的子类型。例如,对于内容节点(实体类型),你可以生成文章,博客文章或产品等绑定(子类型)。但是,并非所有实体类型都具有绑定包。例如,用户没有单独的包(子类型)。对于允许包的实体类型,你可以根据需要创建任意数量的包(子类型)。然后,使用 Field 系统,你可以为每个包添加不同的字段。示例包括基本页面上的文件下载字段和文章上的字幕字段。

字段

字段是可重用的内容。在技​​术术语中,每个字段都是原始数据类型,具有用于编辑的自定义验证器和小部件以及用于显示的格式化器。你可以进一步阅读开发人员使用 Drupal 7 Fields API 的指南。

与实体相关的重要事项是,可以将 Fields 添加到任何绑定(或实体类型)以帮助组织其数据。

例如,假设你使用非结构化文本字段创建内容类型,并使用 HTML 来构建部分内容类型,例如摘要部分或价格。这将使得控制这些显示方式或在不同类型的相关内容之间建立联系变得更加困难。

这是使用字段必不可少的地方。你可以创建 Long Text 类型的摘要字段以及 Decimal 类型的价格字段。

实体

实体将是特定实体类型的一个实例,例如评论,分类术语或用户简档,或者诸如博客文章,文章或产品之类的绑定。

你可以使用 entity_load 加载任何实体。但请注意,核心不提供保存或删除功能,但是由于 Entity API 模块,添加了缺失的部分(entity_create(),entity`_save(),entity\_delete(),entity\_view() 和 entity\_access()`)。

把它放在面向对象的设计/编程术语中……

如果你来自 OOD / P 背景并试图更好地理解这些关键概念是什么,下面建议的映射可能会有所帮助(虽然从纯粹主义者的角度来看并非严格如此): -

  • 一个实体类型基类
  • 一个是一个扩展类
  • 一个领域是一个类成员属性变量字段实例 (根据你的喜好命名)
  • 一个实体是一个对象实例一的扩展类

所有这四个 OOD / P 概念都是特殊的,因为它们是可序列化的(存储 - 例如存储到数据库或文件中)。序列化通过 Entity API 进行。