TextSummaryOrTrimmedFormatter.php

Same filename in this branch
  1. 11.x core/modules/text/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
Same filename and directory in other branches
  1. 10 core/modules/text/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
  2. 9 core/modules/text/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
  3. 8.9.x core/modules/text/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php
  4. main core/modules/text/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php

Namespace

Drupal\text_with_summary\Plugin\Field\FieldFormatter

File

core/modules/text_with_summary/src/Plugin/Field/FieldFormatter/TextSummaryOrTrimmedFormatter.php

View source
<?php

declare (strict_types=1);
namespace Drupal\text_with_summary\Plugin\Field\FieldFormatter;

use Drupal\Core\Field\Attribute\FieldFormatter;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\text\Plugin\Field\FieldFormatter\TextTrimmedFormatter;

/**
 * Plugin implementation of the 'text_summary_or_trimmed' formatter.
 */
class TextSummaryOrTrimmedFormatter extends TextTrimmedFormatter {
  
  /**
   * {@inheritdoc}
   */
  public function viewElements(FieldItemListInterface $items, $langcode) : array {
    $elements = [];
    foreach ($items as $delta => $item) {
      $element = [
        '#type' => 'processed_text',
        '#format' => $item->format,
        '#langcode' => $item->getLangcode(),
      ];
      if (!empty($item->summary)) {
        $element['#text'] = $item->summary;
      }
      else {
        $element['#text'] = $item->value;
        $this->addTrimPreRender($element);
      }
      $elements[$delta] = $element;
    }
    return $elements;
  }

}

Classes

Title Deprecated Summary
TextSummaryOrTrimmedFormatter Plugin implementation of the 'text_summary_or_trimmed' formatter.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.