Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

9.10.4. Drupal 8 Fields API: Drupal Formatter - էջում տվյալների ցուցադրում

19/04/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

Դասի անոտացիան ցույց է տալիս, թե որ դաշտի տիպին է վերաբերում այս ձևաչափիչը։

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

Այս ֆայլում մեզ առավել հետաքրքրում է viewElements() մեթոդը, որը պատասխանատու է տվյալները էջում ցուցադրելու համար։

Ուշադրություն դարձրեք, որ ձևաչափիչը տվյալների բազայում հարցումներ չի կատարում։ Այն վերցնում է տվյալները $items փոփոխականից։ $items փոփոխականում պահվում են Entity-ի մատչելի դաշտի տվյալները, որոնք պատրաստ են արտածման։