class SystemMainBlock extends BlockBase implements MainContentBlockPluginInterface (View source)

Provides a 'Main page content' block.

Traits

Provides the base implementation of a block plugin.

Handles context assignments for context-aware plugins.

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Provides a trait for the messenger service.

Provides a trait with typical behavior for plugins which have forms.

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 MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected TransliterationInterface $transliteration

The transliteration service.

from  BlockPluginTrait
protected array $mainContent

The render array representing the main page content.

Methods

__construct(array $configuration, $plugin_id, $plugin_definition)

{@inheritdoc}

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.

createContextFromConfiguration(array $context_configuration)

Creates context objects from any context mappings in configuration.

getContextDefinitions()

Gets the context definitions of the plugin.

getContextDefinition(string $name)

Gets a specific context definition of the plugin.

array
getContexts()

Gets the defined contexts.

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.

getTypedDataManager()

Gets the typed data manager.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

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.

string[]
getCacheContexts()

The cache contexts associated with this object.

string[]
getCacheTags()

The cache tags associated with this object.

int
getCacheMaxAge()

The maximum age for which this object may be cached.

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

getFormClass($operation)

{@inheritdoc}

hasFormClass($operation)

{@inheritdoc}

label()

{@inheritdoc}

getConfiguration()

{@inheritdoc}

setConfiguration(array $configuration)

{@inheritdoc}

array
baseConfigurationDefaults()

Returns generic default configuration for block plugins.

defaultConfiguration()

{@inheritdoc}

setConfigurationValue($key, $value)

{@inheritdoc}

access(AccountInterface $account, $return_as_object = FALSE)

{@inheritdoc}

blockAccess(AccountInterface $account)

Indicates whether the block should be shown.

buildConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

blockForm($form, FormStateInterface $form_state)

{@inheritdoc}

validateConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

blockValidate($form, FormStateInterface $form_state)

{@inheritdoc}

submitConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

blockSubmit($form, FormStateInterface $form_state)

{@inheritdoc}

transliteration()

Wraps the transliteration service.

setTransliteration(TransliterationInterface $transliteration)

Sets the transliteration service.

array
addContextAssignmentElement(ContextAwarePluginInterface $plugin, array $contexts)

Builds a form element for assigning a context to a given slot.

setMainContent(array $main_content)

Sets the main content render array.

array
build()

Builds and returns the renderable array for this block plugin.

Details

__construct(array $configuration, $plugin_id, $plugin_definition)

{@inheritdoc}

Parameters

array $configuration
$plugin_id
$plugin_definition

string getPluginId()

Gets the plugin_id of the plugin instance.

Return Value

string

The plugin_id of the plugin instance.

string getBaseId()

Gets the base_plugin_id of the plugin instance.

Return Value

string

The base_plugin_id of the plugin instance.

string|null getDerivativeId()

Gets the derivative_id of the plugin instance.

Return Value

string|null

The derivative_id of the plugin instance NULL otherwise.

array getPluginDefinition()

Gets the definition of the plugin implementation.

Return Value

array

The plugin definition, as returned by the discovery object used by the plugin manager.

bool isConfigurable()

Determines if the plugin is configurable.

Return Value

bool

A boolean indicating whether the plugin is configurable.

__get($name)

Implements magic __get() method.

Parameters

$name

protected ContextInterface[] createContextFromConfiguration(array $context_configuration)

Creates context objects from any context mappings in configuration.

Parameters

array $context_configuration

An associative array of context names and values.

Return Value

ContextInterface[]

An array of context objects.

ContextDefinitionInterface[] getContextDefinitions()

Gets the context definitions of the plugin.

Return Value

ContextDefinitionInterface[]

The array of context definitions, keyed by context name.

ContextDefinitionInterface getContextDefinition(string $name)

Gets a specific context definition of the plugin.

Parameters

string $name

The name of the context in the plugin definition.

Return Value

ContextDefinitionInterface

The definition against which the context value must validate.

Exceptions

PluginException

array getContexts()

Gets the defined contexts.

Return Value

array

The set context objects.

Exceptions

PluginException

ContextInterface getContext(string $name)

Gets a defined context.

Parameters

string $name

The name of the context in the plugin definition.

Return Value

ContextInterface

The context object.

Exceptions

PluginException

setContext(string $name, ContextInterface $context)

Set a context on this plugin.

Parameters

string $name

The name of the context in the plugin configuration.

ContextInterface $context

The context object to set.

array getContextValues()

Gets the values for all defined contexts.

Return Value

array

An array of set context values, keyed by context name. If a context is unset its value is returned as NULL.

mixed getContextValue(string $name)

Gets the value for a defined context.

Parameters

string $name

The name of the context in the plugin configuration.

Return Value

mixed

The currently set context value.

Exceptions

PluginException

$this setContextValue(string $name, mixed $value)

Sets the value for a defined context.

Parameters

string $name

The name of the context in the plugin definition.

mixed $value

The value to set the context to. The value has to validate against the provided context definition.

Return Value

$this

A context aware plugin object for chaining.

Exceptions

PluginException

ConstraintViolationListInterface validateContexts()

Validates the set values for the defined contexts.

Return Value

ConstraintViolationListInterface

A list of constraint violations. If the list is empty, validation succeeded.

$this setTypedDataManager(TypedDataManagerInterface $typed_data_manager)

Sets the typed data manager.

Parameters

TypedDataManagerInterface $typed_data_manager

The typed data manager.

Return Value

$this

TypedDataManagerInterface getTypedDataManager()

Gets the typed data manager.

Return Value

TypedDataManagerInterface

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

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

array getContextMapping()

Gets a mapping of the expected assignment names to their context names.

Return Value

array

A mapping of the expected assignment names to their context names. For example, if one of the $contexts is named 'user.current_user', but the plugin expects a context named 'user', then this map would contain 'user' => 'user.current_user'.

$this setContextMapping(array $context_mapping)

Sets a mapping of the expected assignment names to their context names.

Parameters

array $context_mapping

A mapping of the expected assignment names to their context names. For example, if one of the $contexts is named 'user.current_user', but the plugin expects a context named 'user', then this map would contain 'user' => 'user.current_user'.

Return Value

$this

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.

Return Value

string[]

An array of cache context tokens, used to generate a cache ID.

string[] getCacheTags()

The cache tags associated with this object.

When this object is modified, these cache tags will be invalidated.

Return Value

string[]

A set of cache tags.

int getCacheMaxAge()

The maximum age for which this object may be cached.

Return Value

int

The maximum time in seconds that this object may be cached.

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

getFormClass($operation)

{@inheritdoc}

Parameters

$operation

hasFormClass($operation)

{@inheritdoc}

Parameters

$operation

label()

{@inheritdoc}

getConfiguration()

{@inheritdoc}

setConfiguration(array $configuration)

{@inheritdoc}

Parameters

array $configuration

protected array baseConfigurationDefaults()

Returns generic default configuration for block plugins.

Return Value

array

An associative array with the default configuration.

defaultConfiguration()

{@inheritdoc}

setConfigurationValue($key, $value)

{@inheritdoc}

Parameters

$key
$value

calculateDependencies()

{@inheritdoc}

access(AccountInterface $account, $return_as_object = FALSE)

{@inheritdoc}

Parameters

AccountInterface $account
$return_as_object

protected AccessResult blockAccess(AccountInterface $account)

Indicates whether the block should be shown.

Blocks with specific access checking should override this method rather than access(), in order to avoid repeating the handling of the $return_as_object argument.

Parameters

AccountInterface $account

The user session for which to check access.

Return Value

AccessResult

The access result.

See also

\Drupal\Core\Block\self::access()

buildConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

Creates a generic configuration form for all block types. Individual block plugins can add elements to this form by overriding BlockBase::blockForm(). Most block plugins should not override this method unless they need to alter the generic form elements.

Parameters

array $form
FormStateInterface $form_state

See also

\Drupal\Core\Block\BlockBase::blockForm()

blockForm($form, FormStateInterface $form_state)

{@inheritdoc}

Parameters

$form
FormStateInterface $form_state

validateConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

Most block plugins should not override this method. To add validation for a specific block type, override BlockBase::blockValidate().

Parameters

array $form
FormStateInterface $form_state

See also

\Drupal\Core\Block\BlockBase::blockValidate()

blockValidate($form, FormStateInterface $form_state)

{@inheritdoc}

Parameters

$form
FormStateInterface $form_state

submitConfigurationForm(array $form, FormStateInterface $form_state)

{@inheritdoc}

Most block plugins should not override this method. To add submission handling for a specific block type, override BlockBase::blockSubmit().

Parameters

array $form
FormStateInterface $form_state

See also

\Drupal\Core\Block\BlockBase::blockSubmit()

blockSubmit($form, FormStateInterface $form_state)

{@inheritdoc}

Parameters

$form
FormStateInterface $form_state

getMachineNameSuggestion()

{@inheritdoc}

getPreviewFallbackString()

{@inheritdoc}

protected TransliterationInterface transliteration()

Wraps the transliteration service.

setTransliteration(TransliterationInterface $transliteration)

Sets the transliteration service.

Parameters

TransliterationInterface $transliteration

The transliteration service.

protected array addContextAssignmentElement(ContextAwarePluginInterface $plugin, array $contexts)

Builds a form element for assigning a context to a given slot.

Parameters

ContextAwarePluginInterface $plugin

The context-aware plugin.

array $contexts

An array of contexts.

Return Value

array

A form element for assigning context.

setMainContent(array $main_content)

Sets the main content render array.

Parameters

array $main_content

The render array representing the main content.

array build()

Builds and returns the renderable array for this block plugin.

If a block should not be rendered because it has no content, then this method must also ensure to return no content: it must then only return an empty array, or an empty array with #cache set (with cacheability metadata indicating the circumstances for it being empty).

Return Value

array

A renderable array representing the content of the block.