You are here

public function OverridesSectionStorage::extractIdFromRoute in Drupal 8

Configures the plugin based on route values.

@internal This should only be called during section storage instantiation.

Parameters

mixed $value: The raw value.

mixed $definition: The parameter definition provided in the route options.

string $name: The name of the parameter.

array $defaults: The route defaults array.

Return value

string|null The section storage ID if it could be extracted, NULL otherwise.

Overrides SectionStorageInterface::extractIdFromRoute

Deprecated

in drupal:8.7.0 and is removed from drupal:9.0.0. \Drupal\layout_builder\SectionStorageInterface::deriveContextsFromRoute() should be used instead. See https://www.drupal.org/node/3016262.

File

core/modules/layout_builder/src/Plugin/SectionStorage/OverridesSectionStorage.php, line 170

Class

OverridesSectionStorage
Defines the 'overrides' section storage type.

Namespace

Drupal\layout_builder\Plugin\SectionStorage

Code

public function extractIdFromRoute($value, $definition, $name, array $defaults) {
  @trigger_error('\\Drupal\\layout_builder\\SectionStorageInterface::extractIdFromRoute() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. \\Drupal\\layout_builder\\SectionStorageInterface::deriveContextsFromRoute() should be used instead. See https://www.drupal.org/node/3016262.', E_USER_DEPRECATED);
  if (strpos($value, '.') !== FALSE) {
    return $value;
  }
  if (isset($defaults['entity_type_id']) && !empty($defaults[$defaults['entity_type_id']])) {
    $entity_type_id = $defaults['entity_type_id'];
    $entity_id = $defaults[$entity_type_id];
    return $entity_type_id . '.' . $entity_id;
  }
}