W3cubDocs

/Drupal 8

public function EntityViewDisplay::getRenderer

public EntityViewDisplay::getRenderer($field_name)

Gets the renderer plugin for a field (e.g. widget, formatter).

Parameters

string $field_name: The field name.

Return value

\Drupal\Core\Field\PluginSettingsInterface|null A widget or formatter plugin or NULL if the field does not exist.

Overrides EntityDisplayInterface::getRenderer

File

core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php, line 189

Class

EntityViewDisplay
Configuration entity that contains display options for all components of a rendered entity in a given view mode.

Namespace

Drupal\Core\Entity\Entity

Code

public function getRenderer($field_name) {
  if (isset($this->plugins[$field_name])) {
    return $this->plugins[$field_name];
  }

  // Instantiate the formatter object from the stored display properties.
  if (($configuration = $this->getComponent($field_name)) && isset($configuration['type']) && ($definition = $this->getFieldDefinition($field_name))) {
    $formatter = $this->pluginManager->getInstance(array(
      'field_definition' => $definition,
      'view_mode' => $this->originalMode,
      // No need to prepare, defaults have been merged in setComponent().
      'prepare' => FALSE,
      'configuration' => $configuration
    ));
  }
  else {
    $formatter = NULL;
  }

  // Persist the formatter object.
  $this->plugins[$field_name] = $formatter;
  return $formatter;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!Entity!EntityViewDisplay.php/function/EntityViewDisplay::getRenderer/8.1.x