创建字段类型、字段格式器、字段编辑器
在第一章中,我们学习过如何通过 Drupal 后台管理界面创建新的 内容类型(ContentType)
。
创建 内容类型(ContentType)
的主要工作是向其添加字段定义,我们通过一系列的表单,
选择 字段类型
,填写 字段名称和说明
,填写 字段设置
,还可以在为字段选择 编辑控件
和 格式化器
。
Drupal Core 自带了大量的 字段类型
,每个类型都提供了至少一个以上的可用 编辑控件
和 格式化器
。
在社区中,也有大量的模块提供了一些 字段类型
,这些字段类型本质上与 Drupal Core 是使用同样的 API 来开发的,
当我们找不到适好的字段类型时,可以使用这些 API 来开发自己需要的字段类型。
学习字段类型的开发,一方面,可以了解字段的底层运行原理,使得开发工作更得心应手,另一方面, 可以开发完全适用于特定项目需求的字段类型,使开发者能够更彻底地控制 Drupal 工程的开发的细节。
概念
Drupal 中的 字段
不等同于 数据库表字段(列)
。
-
字段
:一个具体的实体对象的属性,一个实体包含多个字段,字段
指的是一个具体的数据属性实例。 -
字段值
:字段的值,字段的值是一个FieldItemList
对象实例,该对象是\Drupal\Core\TypedData\ListInterface
Typed Data 列表类型的一个实现。 字段值是多值的,字段值的索引被称为delta
。即使字段被限制为 1 个值,字段的值仍然会是 一个FieldItemList
对象实例, 其中只包含一个值项。 -
字段项
:字段值中的一个值项,它是一个ComplexData
类型的数据对象,包含一个或多个属性。 -
字段项类型(字段类型)
:通常说的字段类型
指的是字段项的类型
,我们在自定义字段类型时,实际上是在创建一个字段项的类型。 -
字段属性
:字段属性是指的是字段项的属性,它们是Primitive Typed Data
数据对象,它们一般会被持久化为数据库表的字段(列)值。
可同时参考 了解实体和字段
字段类型、字段格式器、字段编辑器 使用了 Drupal Plugin API
预备工作
登录后查看完整内容