logo

Palette - 让它色彩缤纷🎨

Palette — 可视化页面构建器,无需专业设计背景。

在线演示 下载 Palette

滚动

9.10.4. Drupal 8 字段 API:Drupal 格式化器(Formatter)——在页面上显示数据

16/10/2025, by Ivan

Menu

在本文中,我们将学习 字段格式化器(Field Formatters),它允许我们控制字段在页面上的显示方式。

在前面的文章中,我们创建了一个字段类型 Link。本文将讲解这些字段如何在页面上显示,以及哪个类负责这一过程。每个通过 Drupal 添加的字段都可以在页面上显示,并且可以在“显示管理(Manage display)”页面中编辑其显示设置。

Manage display page

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 中获取数据。