OverridesSectionStorage
class OverridesSectionStorage extends SectionStorageBase implements ContainerFactoryPluginInterface, OverridesSectionStorageInterface, SectionStorageLocalTaskProviderInterface (View source)
| internal | Plugin classes are internal. |
Defines the 'overrides' section storage type.
OverridesSectionStorage uses a negative weight because:
- It must be picked before \Drupal\layout_builder\Plugin\SectionStorage\DefaultsSectionStorage.
- The default weight is 0, so custom implementations will not take precedence unless otherwise specified.
Traits
Provides a trait to add context-aware functionality to plugins.
Provides a trait for building routes for a Layout Builder UI.
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Provides dependency injection friendly methods for serialization.
Provides a trait for the messenger service.
Constants
| DERIVATIVE_SEPARATOR |
A string which is used to separate base plugin IDs from the derivative ID. |
| FIELD_NAME |
The field name used by this storage. |
Properties
| protected string | $pluginId | The plugin_id. |
from PluginBase |
| protected array | $pluginDefinition | The plugin implementation definition. |
from PluginBase |
| protected array | $configuration | Configuration information passed into the plugin. |
from PluginBase |
| protected TranslationInterface | $stringTranslation | The string translation service. |
from StringTranslationTrait |
| protected array | $_serviceIds | An array of service IDs keyed by property name used for serialization. |
from DependencySerializationTrait |
| protected array | $_entityStorages | An array of entity type IDs keyed by the property name of their storages. |
from DependencySerializationTrait |
| protected MessengerInterface | $messenger | The messenger. |
from MessengerTrait |
| protected ContextInterface[] | $context | The data objects representing the context of this plugin. |
from ContextAwarePluginTrait |
| protected bool internal | $initializedContextConfig | Tracks whether the context has been initialized from configuration. |
from ContextAwarePluginTrait |
| protected EntityTypeManagerInterface | $entityTypeManager | The entity type manager. |
|
| protected EntityFieldManagerInterface | $entityFieldManager | The entity field manager. |
|
| protected SectionStorageManagerInterface | $sectionStorageManager | The section storage manager. |
|
| protected EntityRepositoryInterface | $entityRepository | The entity repository. |
|
| protected AccountInterface | $currentUser | The current user. |
Methods
Constructs a \Drupal\Component\Plugin\PluginBase object.
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Builds the layout routes for the given values.
Gets the section list.
Removes all of the sections.
Gets contexts for use during preview.
Gets a string suitable for use as a tempstore key.
Creates an instance of the plugin.
Gets the entity storing the overrides.
Returns an identifier for this storage.
Derives the available plugin contexts from route values.
Provides the routes needed for Layout Builder UI.
Provides the local tasks dynamically for Layout Builder plugins.
Determines if this entity type's ID is stored as an integer.
Returns an array of relevant entity types.
Returns the corresponding defaults section storage for this override.
Gets the URL used when redirecting away from the Layout Builder UI.
Gets the URL used to display the Layout Builder UI.
Gets the label for the object using the sections.
Saves the sections.
Checks data value access.
Handles access checks related to translations.
Determines if this section storage is applicable for the current contexts.
Indicates if overrides are in use.
Details
__construct(array $configuration, string $plugin_id, mixed $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager, SectionStorageManagerInterface $section_storage_manager, EntityRepositoryInterface $entity_repository, AccountInterface $current_user)
Constructs a \Drupal\Component\Plugin\PluginBase object.
string
getPluginId()
Gets the plugin_id of the plugin instance.
string
getBaseId()
Gets the base_plugin_id of the plugin instance.
string|null
getDerivativeId()
Gets the derivative_id of the plugin instance.
abstract protected
getPluginDefinition()
{@inheritdoc}
bool
isConfigurable()
Determines if the plugin is configurable.
protected TranslatableMarkup
t(string $string, array $args = [], array $options = [])
Translates a string to the current language or to a given language.
See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.
In order for strings to be localized, make them available in one of the ways supported by the
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
setMessenger(MessengerInterface $messenger)
Sets the messenger.
MessengerInterface
messenger()
Gets the messenger.
getContexts()
{@inheritdoc}
ContextInterface
getContext($name)
{@inheritdoc}
setContext($name, ContextInterface $context)
{@inheritdoc}
getContextValues()
{@inheritdoc}
getContextValue($name)
{@inheritdoc}
setContextValue($name, $value)
{@inheritdoc}
getContextMapping()
{@inheritdoc}
setContextMapping(array $context_mapping)
{@inheritdoc}
ContextDefinitionInterface[]
getContextDefinitions()
{@inheritdoc}
ContextDefinitionInterface
getContextDefinition($name)
{@inheritdoc}
validateContexts()
{@inheritdoc}
getCacheContexts()
{@inheritdoc}
getCacheTags()
{@inheritdoc}
getCacheMaxAge()
{@inheritdoc}
protected
buildLayoutRoutes(RouteCollection $collection, SectionStorageDefinition $definition, string $path, array $defaults = [], array $requirements = [], array $options = [], string $route_name_prefix = '', string $entity_type_id = '')
Builds the layout routes for the given values.
protected SectionListInterface
getSectionList()
Gets the section list.
string
getStorageType()
Returns the type of this storage.
Used in conjunction with the storage ID.
count()
{@inheritdoc}
Section[]
getSections()
Gets the layout sections.
Section
getSection(int $delta)
Gets a domain object for the layout section.
$this
appendSection(Section $section)
Appends a new section to the end of the list.
$this
insertSection(int $delta, Section $section)
Inserts a new section at a given delta.
If a section exists at the given index, the section at that position and others after it are shifted backward.
$this
removeSection(int $delta)
Removes the section at the given delta.
As sections are stored sequentially and numerically this will re-key every subsequent section, shifting them forward.
$this
removeAllSections(bool $set_blank = FALSE)
Removes all of the sections.
ContextInterface[]
getContextsDuringPreview()
Gets contexts for use during preview.
When not in preview, ::getContexts() will be used.
string
getTempstoreKey()
Gets a string suitable for use as a tempstore key.
static ContainerFactoryPluginInterface
create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)
Creates an instance of the plugin.
protected FieldableEntityInterface
getEntity()
Gets the entity storing the overrides.
string
getStorageId()
Returns an identifier for this storage.
ContextInterface[]
deriveContextsFromRoute(mixed $value, mixed $definition, string $name, array $defaults)
Derives the available plugin contexts from route values.
This should only be called during section storage instantiation, specifically for use by the routing system. For all non-routing usages, use \Drupal\Component\Plugin\ContextAwarePluginInterface::getContextValue().
buildRoutes(RouteCollection $collection)
Provides the routes needed for Layout Builder UI.
Allows the plugin to add or alter routes during the route building process. \Drupal\layout_builder\Routing\LayoutBuilderRoutesTrait is provided for the typical use case of building a standard Layout Builder UI.
array
buildLocalTasks(mixed $base_plugin_definition)
Provides the local tasks dynamically for Layout Builder plugins.
protected bool
hasIntegerId(EntityTypeInterface $entity_type)
Determines if this entity type's ID is stored as an integer.
protected EntityTypeInterface[]
getEntityTypes()
Returns an array of relevant entity types.
DefaultsSectionStorageInterface
getDefaultSectionStorage()
Returns the corresponding defaults section storage for this override.
Url
getRedirectUrl()
Gets the URL used when redirecting away from the Layout Builder UI.
Url
getLayoutBuilderUrl(string $rel = 'view')
Gets the URL used to display the Layout Builder UI.
string
label()
Gets the label for the object using the sections.
int
save()
Saves the sections.
bool|AccessResultInterface
access(string $operation, AccountInterface $account = NULL, bool $return_as_object = FALSE)
Checks data value access.
protected AccessResultInterface
handleTranslationAccess(AccessResult $result, string $operation, AccountInterface $account)
Handles access checks related to translations.
bool
isApplicable(RefinableCacheableDependencyInterface $cacheability)
Determines if this section storage is applicable for the current contexts.
bool
isOverridden()
Indicates if overrides are in use.