public function DefaultsSectionStorage::getSectionListFromId in Drupal 8
Derives the section list from the storage ID.
@internal This should only be called during section storage instantiation.
Parameters
string $id: The storage ID, see ::getStorageId().
Return value
\Drupal\layout_builder\SectionListInterface The section list.
Throws
\InvalidArgumentException Thrown if the ID is invalid.
Overrides SectionStorageInterface::getSectionListFromId
Deprecated
in drupal:8.7.0 and is removed from drupal:9.0.0. The section list should be derived from context. See https://www.drupal.org/node/3016262.
File
- core/
modules/ layout_builder/ src/ Plugin/ SectionStorage/ DefaultsSectionStorage.php, line 239
Class
- DefaultsSectionStorage
- Defines the 'defaults' section storage type.
Namespace
Drupal\layout_builder\Plugin\SectionStorageCode
public function getSectionListFromId($id) {
@trigger_error('\\Drupal\\layout_builder\\SectionStorageInterface::getSectionListFromId() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. The section list should be derived from context. See https://www.drupal.org/node/3016262.', E_USER_DEPRECATED);
if (strpos($id, '.') === FALSE) {
throw new \InvalidArgumentException(sprintf('The "%s" ID for the "%s" section storage type is invalid', $id, $this
->getStorageType()));
}
$storage = $this->entityTypeManager
->getStorage('entity_view_display');
// If the display does not exist, create a new one.
if (!($display = $storage
->load($id))) {
list($entity_type_id, $bundle, $view_mode) = explode('.', $id, 3);
$display = $storage
->create([
'targetEntityType' => $entity_type_id,
'bundle' => $bundle,
'mode' => $view_mode,
'status' => TRUE,
]);
}
return $display;
}