You are here

public function EntityDisplayBase::setComponent in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Entity/EntityDisplayBase.php \Drupal\Core\Entity\EntityDisplayBase::setComponent()

Sets the display options for a component.

Parameters

string $name: The name of the component.

array $options: The display options.

Return value

$this

Overrides EntityDisplayInterface::setComponent

1 call to EntityDisplayBase::setComponent()
EntityDisplayBase::onDependencyRemoval in core/lib/Drupal/Core/Entity/EntityDisplayBase.php
Informs the entity that entities it depends on will be deleted.

File

core/lib/Drupal/Core/Entity/EntityDisplayBase.php, line 327
Contains \Drupal\Core\Entity\EntityDisplayBase.

Class

EntityDisplayBase
Provides a common base class for entity view and form displays.

Namespace

Drupal\Core\Entity

Code

public function setComponent($name, array $options = array()) {

  // If no weight specified, make sure the field sinks at the bottom.
  if (!isset($options['weight'])) {
    $max = $this
      ->getHighestWeight();
    $options['weight'] = isset($max) ? $max + 1 : 0;
  }

  // For a field, fill in default options.
  if ($field_definition = $this
    ->getFieldDefinition($name)) {
    $options = $this->pluginManager
      ->prepareConfiguration($field_definition
      ->getType(), $options);
  }

  // Ensure we always have an empty settings and array.
  $options += [
    'settings' => [],
    'third_party_settings' => [],
  ];
  $this->content[$name] = $options;
  unset($this->hidden[$name]);
  unset($this->plugins[$name]);
  return $this;
}