额外区块类型 (EBT) - 全新的布局构建器体验❗
滚动
9.10.4. Drupal 8 字段 API:Drupal 格式化器(Formatter)——在页面上显示数据
16/10/2025, by Ivan
Menu
- 使用 Lando 安装 Drupal
- 1. Drupal:基本功能(Basic Features)
- 2. Drupal:配置(Configuration)
- 3. Drupal:网站构建
- 4. Drupal Commerce —— Drupal 的在线商店模块
- 5. Drupal 与 SEO
- 6. Drupal:主题开发
- 7. Drupal:高级主题开发。
-
9. Drupal 模块开发
- 9.2. 在 Drupal 中,“hook” 是什么意思?
- 9.3. 创建一个自定义Drupal模块。以编程方式显示页面。
- 9.4. 为高级账户创建页面。
- 9.5. 基本的Drupal文档 api.drupal.org。如何搜索Drupal API信息。
- 9.6. 带参数的路由
- 9.7. 插件在 Drupal 中的使用。如何通过编程添加块。
- 9.8. 在 Drupal 中使用表单。通过代码添加配置表单。
- 9.9. Drupal 中的配置管理。激活、同步配置,从 DEV 到 LIVE 的配置迁移。
- 9.10. Drupal 字段 API。Drupal 数据库中的字段。
- 9.11. Drupal 实体(Entity)API。创建自定义实体类型。使用 Drupal Console 生成实体类型。
- 9.12. 事件分发器(Event Dispatcher)——为特定事件编写自定义代码
- 9.13. 在 Drupal 中操作数据库
- 9.14. 编写与 Views 的集成
- 12.15. 服务和依赖注入。
- 解耦式 Drupal:基于 Drupal 构建后端(Drupal Decoupled. Building Backend on Drupal)
- 旧文章
在本文中,我们将学习 字段格式化器(Field Formatters),它允许我们控制字段在页面上的显示方式。
在前面的文章中,我们创建了一个字段类型 Link。本文将讲解这些字段如何在页面上显示,以及哪个类负责这一过程。每个通过 Drupal 添加的字段都可以在页面上显示,并且可以在“显示管理(Manage display)”页面中编辑其显示设置。
在 Format(格式) 列中,你可以选择字段的显示方式。该列的内容来源于 字段格式化器类(Field Formatter classes)。我们来看一个来自核心模块 Link 的格式化器类,它用于在页面上显示链接:
core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php
在类的注解(annotation)中,可以看到此格式化器所属的字段类型:
/**
* Plugin implementation of the 'link' formatter.
*
* @FieldFormatter(
* id = "link",
* label = @Translation("Link"),
* field_types = {
* "link"
* }
* )
*/
在这个文件中,我们最感兴趣的是 viewElements()
方法,它负责将数据输出到页面上。请注意,格式化器不会直接查询数据库,而是从变量 $items
中获取数据。