You are here

trait BlazyFormatterViewTrait in Blazy 8.2

A Trait common for all blazy formatters.

Hierarchy

File

src/Plugin/Field/FieldFormatter/BlazyFormatterViewTrait.php, line 10

Namespace

Drupal\blazy\Plugin\Field\FieldFormatter
View source
trait BlazyFormatterViewTrait {

  /**
   * Returns similar view elements.
   */
  public function commonViewElements(FieldItemListInterface $items, $langcode, array $entities = [], array $settings = []) {

    // Collects specific settings to this formatter.
    $settings = array_merge($this
      ->buildSettings(), $settings);
    $settings['langcode'] = $langcode;

    // Build the settings.
    $build = [
      'settings' => $settings,
    ];

    // Modifies settings before building elements.
    $entities = empty($entities) ? [] : array_values($entities);
    $this->formatter
      ->preBuildElements($build, $items, $entities);

    // Build the elements.
    $elements = $entities ?: $items;
    $this
      ->buildElements($build, $elements, $langcode);

    // Modifies settings post building elements.
    $this->formatter
      ->postBuildElements($build, $items, $entities);

    // Pass to manager for easy updates to all Blazy formatters.
    return $this->formatter
      ->build($build);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BlazyFormatterViewTrait::commonViewElements public function Returns similar view elements.