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\SectionStorageCode
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;
}
}