class LayoutBuilder extends RenderElement implements ContainerFactoryPluginInterface (View source)

internal  Plugin classes are internal.
 

Defines a render element for building the Layout Builder UI.

Traits

Provides a helper to determine if the current request is via AJAX.

Provides a wrapper around getting contexts from a section storage object.

A trait for generating IDs used to highlight active UI elements.

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.

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 ContextRepositoryInterface $contextRepository

The context repository.

from  LayoutBuilderContextTrait
protected EventDispatcherInterface $eventDispatcher

The event dispatcher.

Methods

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, EventDispatcherInterface $event_dispatcher, MessengerInterface|null $messenger = NULL)

Constructs a new LayoutBuilder.

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.

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}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

static 
setAttributes(array $element, array $class = [])

Sets a form element's class attribute.

static array
preRenderGroup(array $element)

Adds members of this group as actual elements for rendering.

static array
processAjaxForm(array $element, FormStateInterface $form_state, array $complete_form)

Form element processing handler for the #ajax form property.

static array
preRenderAjaxForm(array $element)

Adds Ajax information about an element to communicate with JavaScript.

static array
processGroup(array $element, FormStateInterface $form_state, array $complete_form)

Arranges elements into groups.

bool
isAjax()

Determines if the current request is via AJAX.

string|null
getRequestWrapperFormat()

Gets the wrapper format of the current request.

contextRepository()

Gets the context repository service.

getAvailableContexts(SectionStorageInterface $section_storage) deprecated

Provides all available contexts, both global and section_storage-specific.

array
getPopulatedContexts(SectionStorageInterface $section_storage)

Returns all populated contexts, both global and section-storage-specific.

string
blockAddHighlightId(string $delta, string $region)

Provides the ID used to highlight the active Layout Builder UI element.

string
blockUpdateHighlightId(string $uuid)

Provides the ID used to highlight the active Layout Builder UI element.

string
sectionAddHighlightId(string $delta)

Provides the ID used to highlight the active Layout Builder UI element.

string
sectionUpdateHighlightId(string $delta)

Provides the ID used to highlight the active Layout Builder UI element.

create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

array
getInfo()

Returns the element properties for this element.

preRender($element)

Pre-render callback: Renders the Layout Builder UI.

array
layout(SectionStorageInterface $section_storage)

Renders the Layout UI.

prepareLayout(SectionStorageInterface $section_storage)

Prepares a layout for use in the UI.

array
buildAddSectionLink(SectionStorageInterface $section_storage, int $delta)

Builds a link to add a new section at a given delta.

array
buildAdministrativeSection(SectionStorageInterface $section_storage, int $delta)

Builds the render array for the layout section while editing.

Details

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, EventDispatcherInterface $event_dispatcher, MessengerInterface|null $messenger = NULL)

Constructs a new LayoutBuilder.

Parameters

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin_id for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

EventDispatcherInterface $event_dispatcher

The event dispatcher service.

MessengerInterface|null $messenger

The messenger service. This is no longer used and will be removed in drupal:10.0.0.

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.

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}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

static setAttributes(array $element, array $class = [])

Sets a form element's class attribute.

Adds 'required' and 'error' classes as needed.

Parameters

array $element

The form element.

array $class

Array of new class names to be added.

static array preRenderGroup(array $element)

Adds members of this group as actual elements for rendering.

Parameters

array $element

An associative array containing the properties and children of the element.

Return Value

array

The modified element with all group members.

static array processAjaxForm(array $element, FormStateInterface $form_state, array $complete_form)

Form element processing handler for the #ajax form property.

This method is useful for non-input elements that can be used in and outside the context of a form.

Parameters

array $element

An associative array containing the properties of the element.

FormStateInterface $form_state

The current state of the form.

array $complete_form

The complete form structure.

Return Value

array

The processed element.

See also

\Drupal\Core\Render\Element\self::preRenderAjaxForm()

static array preRenderAjaxForm(array $element)

Adds Ajax information about an element to communicate with JavaScript.

If #ajax is set on an element, this additional JavaScript is added to the page header to attach the Ajax behaviors. See ajax.js for more information.

Parameters

array $element

An associative array containing the properties of the element. Properties used:

  • ajax['event']

  • ajax['prevent']

  • ajax['url']

  • ajax['callback']

  • ajax['options']

  • ajax['wrapper']

  • ajax['parameters']

  • ajax['effect']

  • ajax['accepts']

Return Value

array

The processed element with the necessary JavaScript attached to it.

static array processGroup(array $element, FormStateInterface $form_state, array $complete_form)

Arranges elements into groups.

This method is useful for non-input elements that can be used in and outside the context of a form.

Parameters

array $element

An associative array containing the properties and children of the element. Note that $element must be taken by reference here, so processed child elements are taken over into $form_state.

FormStateInterface $form_state

The current state of the form.

array $complete_form

The complete form structure.

Return Value

array

The processed element.

protected bool isAjax()

Determines if the current request is via AJAX.

Return Value

bool

TRUE if the current request is via AJAX, FALSE otherwise.

protected string|null getRequestWrapperFormat()

Gets the wrapper format of the current request.

Return Value

string|null

The wrapper format. NULL if the wrapper format is not set.

protected ContextRepositoryInterface contextRepository()

Gets the context repository service.

Return Value

ContextRepositoryInterface

The context repository service.

protected ContextInterface[] getAvailableContexts(SectionStorageInterface $section_storage) deprecated

deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use \Drupal\layout_builder\Context\LayoutBuilderContextTrait::getPopulatedContexts() instead.

Provides all available contexts, both global and section_storage-specific.

Parameters

SectionStorageInterface $section_storage

The section storage.

Return Value

ContextInterface[]

The array of context objects.

See also

https://www.drupal.org/node/3195121

protected array getPopulatedContexts(SectionStorageInterface $section_storage)

Returns all populated contexts, both global and section-storage-specific.

Parameters

SectionStorageInterface $section_storage

The section storage.

Return Value

array

The array of context objects.

protected string blockAddHighlightId(string $delta, string $region)

Provides the ID used to highlight the active Layout Builder UI element.

Parameters

string $delta

The section the block is in.

string $region

The section region in which the block is placed.

Return Value

string

The highlight ID of the block.

protected string blockUpdateHighlightId(string $uuid)

Provides the ID used to highlight the active Layout Builder UI element.

Parameters

string $uuid

The uuid of the block.

Return Value

string

The highlight ID of the block.

protected string sectionAddHighlightId(string $delta)

Provides the ID used to highlight the active Layout Builder UI element.

Parameters

string $delta

The location of the section.

Return Value

string

The highlight ID of the section.

protected string sectionUpdateHighlightId(string $delta)

Provides the ID used to highlight the active Layout Builder UI element.

Parameters

string $delta

The location of the section.

Return Value

string

The highlight ID of the section.

static ContainerFactoryPluginInterface create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

Parameters

ContainerInterface $container

The container to pull out services used in the plugin.

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin ID for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

Return Value

ContainerFactoryPluginInterface

Returns an instance of this plugin.

array getInfo()

Returns the element properties for this element.

Return Value

array

An array of element properties. See \Drupal\Core\Render\ElementInfoManagerInterface::getInfo() for documentation of the standard properties of all elements, and the return value format.

preRender($element)

Pre-render callback: Renders the Layout Builder UI.

Parameters

$element

protected array layout(SectionStorageInterface $section_storage)

Renders the Layout UI.

Parameters

SectionStorageInterface $section_storage

The section storage.

Return Value

array

A render array.

protected prepareLayout(SectionStorageInterface $section_storage)

Prepares a layout for use in the UI.

Parameters

SectionStorageInterface $section_storage

The section storage.

Builds a link to add a new section at a given delta.

Parameters

SectionStorageInterface $section_storage

The section storage.

int $delta

The delta of the section to splice.

Return Value

array

A render array for a link.

protected array buildAdministrativeSection(SectionStorageInterface $section_storage, int $delta)

Builds the render array for the layout section while editing.

Parameters

SectionStorageInterface $section_storage

The section storage.

int $delta

The delta of the section.

Return Value

array

The render array for a given section.