DefaultsSectionStorage
class DefaultsSectionStorage extends SectionStorageBase implements ContainerFactoryPluginInterface, DefaultsSectionStorageInterface (View source)
| internal | Plugin classes are internal. |
Defines the 'defaults' section storage type.
DefaultsSectionStorage uses a positive weight because:
- It must be picked after \Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage.
- The default weight is 0, so other custom implementations will also take precedence unless otherwise specified.
Traits
Provides a trait for building routes for a Layout Builder UI.
Wrapper methods for classes that needs typed data manager object.
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Provides dependency injection friendly methods for serialization.
Constants
| DERIVATIVE_SEPARATOR |
A string which is used to separate base plugin IDs from the derivative ID. |
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 ContextInterface[] | $context | The data objects representing the context of this plugin. |
from ContextAwarePluginBase |
| protected TypedDataManagerInterface | $typedDataManager | The typed data manager used for creating the data types. |
from TypedDataTrait |
| 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 EntityTypeManagerInterface | $entityTypeManager | The entity type manager. |
|
| protected EntityTypeBundleInfoInterface | $entityTypeBundleInfo | The entity type bundle info. |
|
| protected SampleEntityGeneratorInterface | $sampleEntityGenerator | The sample entity generator. |
Methods
Overrides \Drupal\Component\Plugin\PluginBase::__construct().
Creates context objects from any context mappings in configuration.
Gets the context definitions of the plugin.
Gets a specific context definition of the plugin.
Gets the value for a defined context.
Sets the value for a defined context.
Validates the set values for the defined contexts.
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.
Gets a mapping of the expected assignment names to their context names.
Sets a mapping of the expected assignment names to their context names.
The cache contexts associated with this object.
The maximum age for which this object may be cached.
Builds the layout routes for the given values.
Gets the section list.
Removes all of the sections.
Gets contexts for use during preview.
Creates an instance of the plugin.
Gets the entity storing the defaults.
Returns an identifier for this storage.
Gets the URL used when redirecting away from the Layout Builder UI.
Gets the URL used to display the Layout Builder UI.
Provides the route parameters needed to generate a URL for this object.
Provides the routes needed for Layout Builder UI.
Returns an array of relevant entity types.
Configures the plugin based on route values.
Derives the section list from the storage ID.
Derives the available plugin contexts from route values.
Gets the label for the object using the sections.
Saves the sections.
Determines if the defaults allow custom overrides.
Sets the defaults to allow or disallow overrides.
Sets the value of a third-party setting.
Determines if Layout Builder is enabled.
Enables the Layout Builder.
Disables the Layout Builder.
Gets the value of a third-party setting.
Gets all third-party settings of a given module.
Unsets a third-party setting.
Gets the list of third parties that store information.
Checks data value access.
Determines if this section storage is applicable for the current contexts.
Details
__construct(array $configuration, string $plugin_id, mixed $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, SampleEntityGeneratorInterface $sample_entity_generator)
Overrides \Drupal\Component\Plugin\PluginBase::__construct().
Overrides the construction of context aware plugins to allow for unvalidated constructor based injection of contexts.
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.
array
getPluginDefinition()
Gets the definition of the plugin implementation.
bool
isConfigurable()
Determines if the plugin is configurable.
__get($name)
Implements magic __get() method.
protected ContextInterface[]
createContextFromConfiguration(array $context_configuration)
Creates context objects from any context mappings in configuration.
ContextDefinitionInterface[]
getContextDefinitions()
Gets the context definitions of the plugin.
ContextDefinitionInterface
getContextDefinition(string $name)
Gets a specific context definition of the plugin.
array
getContexts()
Gets the defined contexts.
ContextInterface
getContext(string $name)
Gets a defined context.
setContext(string $name, ContextInterface $context)
Set a context on this plugin.
array
getContextValues()
Gets the values for all defined contexts.
mixed
getContextValue(string $name)
Gets the value for a defined context.
$this
setContextValue(string $name, mixed $value)
Sets the value for a defined context.
ConstraintViolationListInterface
validateContexts()
Validates the set values for the defined contexts.
$this
setTypedDataManager(TypedDataManagerInterface $typed_data_manager)
Sets the typed data manager.
TypedDataManagerInterface
getTypedDataManager()
Gets the typed data manager.
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}
array
getContextMapping()
Gets a mapping of the expected assignment names to their context names.
$this
setContextMapping(array $context_mapping)
Sets a mapping of the expected assignment names to their context names.
protected ContextHandlerInterface
contextHandler()
Wraps the context handler.
string[]
getCacheContexts()
The cache contexts associated with this object.
These identify a specific variation/representation of the object.
Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.
string[]
getCacheTags()
The cache tags associated with this object.
When this object is modified, these cache tags will be invalidated.
int
getCacheMaxAge()
The maximum age for which this object may be cached.
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.
setSectionList(SectionListInterface $section_list)
deprecated
deprecated
| internal | As of Drupal 8.7.0, this method should no longer be used. It previously should only have been used during storage instantiation. |
Sets the section list on the storage.
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 LayoutEntityDisplayInterface
getDisplay()
Gets the entity storing the defaults.
string
getStorageId()
Returns an identifier for this storage.
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.
protected array
getRouteParameters()
Provides the route parameters needed to generate a URL for this object.
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.
protected EntityTypeInterface[]
getEntityTypes()
Returns an array of relevant entity types.
string|null
extractIdFromRoute(mixed $value, mixed $definition, string $name, array $defaults)
Configures the plugin based on route values.
SectionListInterface
getSectionListFromId(string $id)
Derives the section list from the storage ID.
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().
string
label()
Gets the label for the object using the sections.
int
save()
Saves the sections.
bool
isOverridable()
Determines if the defaults allow custom overrides.
$this
setOverridable(bool $overridable = TRUE)
Sets the defaults to allow or disallow overrides.
$this
setThirdPartySetting(string $module, string $key, mixed $value)
Sets the value of a third-party setting.
bool
isLayoutBuilderEnabled()
Determines if Layout Builder is enabled.
$this
enableLayoutBuilder()
Enables the Layout Builder.
$this
disableLayoutBuilder()
Disables the Layout Builder.
mixed
getThirdPartySetting(string $module, string $key, mixed $default = NULL)
Gets the value of a third-party setting.
array
getThirdPartySettings(string $module)
Gets all third-party settings of a given module.
mixed
unsetThirdPartySetting(string $module, string $key)
Unsets a third-party setting.
array
getThirdPartyProviders()
Gets the list of third parties that store information.
bool|AccessResultInterface
access(string $operation, AccountInterface $account = NULL, bool $return_as_object = FALSE)
Checks data value access.
bool
isApplicable(RefinableCacheableDependencyInterface $cacheability)
Determines if this section storage is applicable for the current contexts.