1<?php
2
3/**
4 * @file
5 * Test module.
6 */
7
8use Drupal\Core\Field\FieldDefinitionInterface;
9use Drupal\Core\Field\FormatterInterface;
10use Drupal\Core\Field\WidgetInterface;
11use Drupal\Core\Form\FormStateInterface;
12
13/**
14 * Implements hook_field_widget_third_party_settings_form().
15 */
16function field_third_party_test_field_widget_third_party_settings_form(WidgetInterface $plugin, FieldDefinitionInterface $field_definition, $form_mode, $form, FormStateInterface $form_state) {
17  $element['field_test_widget_third_party_settings_form'] = [
18    '#type' => 'textfield',
19    '#title' => t('3rd party widget settings form'),
20    '#default_value' => $plugin->getThirdPartySetting('field_third_party_test', 'field_test_widget_third_party_settings_form'),
21  ];
22  return $element;
23}
24
25/**
26 * Implements hook_field_widget_settings_summary_alter().
27 */
28function field_third_party_test_field_widget_settings_summary_alter(&$summary, $context) {
29  $summary[] = 'field_test_field_widget_settings_summary_alter';
30  return $summary;
31}
32
33/**
34 * Implements hook_field_formatter_third_party_settings_form().
35 */
36function field_third_party_test_field_formatter_third_party_settings_form(FormatterInterface $plugin, FieldDefinitionInterface $field_definition, $view_mode, $form, FormStateInterface $form_state) {
37  $element['field_test_field_formatter_third_party_settings_form'] = [
38    '#type' => 'textfield',
39    '#title' => t('3rd party formatter settings form'),
40    '#default_value' => $plugin->getThirdPartySetting('field_third_party_test', 'field_test_field_formatter_third_party_settings_form'),
41  ];
42  return $element;
43}
44
45/**
46 * Implements hook_field_formatter_settings_summary_alter().
47 */
48function field_third_party_test_field_formatter_settings_summary_alter(&$summary, $context) {
49  $summary[] = 'field_test_field_formatter_settings_summary_alter';
50  return $summary;
51}
52