logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

9.10.4. Drupal 8 Fields API。Drupal Formatter - ページにデータを表示する

03/10/2019, by disabled user

Menu

この記事では、フィールドの表示を編集してページに表示できる Field Formatters を検討します。 

過去の記事で、Link フィールドタイプを作成しました。この記事では、これらのフィールドがページにどう表示されるか、そしてどのクラスがそれを担当するかを見ていきます。Drupal を通じて追加する各フィールドは、ページに表示でき、Manage display ページでその設定を編集できます。 

Manage display page

Format 列で、フィールドの表示方法を選べます。この列は Field Formatter クラスによって形成されます。ページへのリンクを表示する Link モジュールのクラスを見てみましょう:

core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php

クラスのアノテーションは、このフォーマッターがどのタイプのフィールドに属するかを示します。

/**
 * Plugin implementation of the 'link' formatter.
 *
 * @FieldFormatter(
 *   id = "link",
 *   label = @Translation("Link"),
 *   field_types = {
 *     "link"
 *   }
 * )
 */

このファイルで主に関心があるのは viewElements() メソッドです。このメソッドは、ページへのデータの出力を担当します。フォーマッターはデータベースにリクエストを送らず、変数 $items からデータを取る点に注意してください。$items の中に