Version 1
[yaffs-website] / web / core / modules / text / src / Plugin / Field / FieldFormatter / TextDefaultFormatter.php
1 <?php
2
3 namespace Drupal\text\Plugin\Field\FieldFormatter;
4
5 use Drupal\Core\Field\FormatterBase;
6 use Drupal\Core\Field\FieldItemListInterface;
7
8 /**
9  * Plugin implementation of the 'text_default' formatter.
10  *
11  * @FieldFormatter(
12  *   id = "text_default",
13  *   label = @Translation("Default"),
14  *   field_types = {
15  *     "text",
16  *     "text_long",
17  *     "text_with_summary",
18  *   }
19  * )
20  */
21 class TextDefaultFormatter extends FormatterBase {
22
23   /**
24    * {@inheritdoc}
25    */
26   public function viewElements(FieldItemListInterface $items, $langcode) {
27     $elements = [];
28
29     // The ProcessedText element already handles cache context & tag bubbling.
30     // @see \Drupal\filter\Element\ProcessedText::preRenderText()
31     foreach ($items as $delta => $item) {
32       $elements[$delta] = [
33         '#type' => 'processed_text',
34         '#text' => $item->value,
35         '#format' => $item->format,
36         '#langcode' => $item->getLangcode(),
37       ];
38     }
39
40     return $elements;
41   }
42
43 }