Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. BlockBase.php

class BlockBase

Defines a base block implementation that most blocks plugins will extend.

This abstract class provides the generic block configuration form, default block settings, and handling for general user-defined block visibility settings.

Hierarchy

  • class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
    • class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
      • class \Drupal\Core\Block\BlockBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Block\BlockPluginInterface, \Drupal\Core\Plugin\PluginWithFormsInterface, \Drupal\Core\Plugin\PreviewAwarePluginInterface, \Drupal\Core\Render\PreviewFallbackInterface, \Drupal\Core\Plugin\ContextAwarePluginInterface uses \Drupal\Core\Block\BlockPluginTrait, \Drupal\Core\Plugin\ContextAwarePluginTrait, \Drupal\Core\Plugin\ContextAwarePluginAssignmentTrait

Expanded class hierarchy of BlockBase

Related topics

Block API
Information about the classes and interfaces that make up the Block API.
25 files declare their use of BlockBase
AnnounceBlock.php in core/modules/announcements_feed/src/Plugin/Block/AnnounceBlock.php
BlockContentBlock.php in core/modules/block_content/src/Plugin/Block/BlockContentBlock.php
ExtraFieldBlock.php in core/modules/layout_builder/src/Plugin/Block/ExtraFieldBlock.php
FieldBlock.php in core/modules/layout_builder/src/Plugin/Block/FieldBlock.php
HelpBlock.php in core/modules/help/src/Plugin/Block/HelpBlock.php

... See full list

File

core/lib/Drupal/Core/Block/BlockBase.php, line 23

Namespace

Drupal\Core\Block
View source
abstract class BlockBase extends PluginBase implements BlockPluginInterface, PluginWithFormsInterface, PreviewAwarePluginInterface, PreviewFallbackInterface, ContextAwarePluginInterface {
    use BlockPluginTrait {
        buildConfigurationForm as traitBuildConfigurationForm;
    }
    use ContextAwarePluginTrait;
    use ContextAwarePluginAssignmentTrait;
    
    /**
     * {@inheritdoc}
     */
    public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
        $form = $this->traitBuildConfigurationForm($form, $form_state);
        // Add context mapping UI form elements.
        $contexts = $form_state->getTemporaryValue('gathered_contexts') ?: [];
        $form['context_mapping'] = $this->addContextAssignmentElement($this, $contexts);
        return $form;
    }

}

Members

Title Sort descending Modifiers Object type Summary Member alias Overriden Title Overrides
BlockBase::buildConfigurationForm public function Form constructor. Overrides PluginFormInterface::buildConfigurationForm 2
BlockPluginInterface::BLOCK_LABEL_VISIBLE constant Indicates the block label (title) should be displayed to end users.
BlockPluginInterface::build public function Builds and returns the renderable array for this block plugin. 27
BlockPluginTrait::$inPreview protected property Whether the plugin is being rendered in preview mode.
BlockPluginTrait::$transliteration protected property The transliteration service.
BlockPluginTrait::access public function
BlockPluginTrait::baseConfigurationDefaults protected function Returns generic default configuration for block plugins.
BlockPluginTrait::blockAccess protected function Indicates whether the block should be shown. 13
BlockPluginTrait::blockForm public function 10
BlockPluginTrait::blockSubmit public function 9
BlockPluginTrait::blockValidate public function 2
BlockPluginTrait::buildConfigurationForm public function 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.
Aliased as: traitBuildConfigurationForm
BlockPluginTrait::calculateDependencies public function 1
BlockPluginTrait::defaultConfiguration public function 15
BlockPluginTrait::getConfiguration public function 1
BlockPluginTrait::getMachineNameSuggestion public function 1
BlockPluginTrait::getPreviewFallbackString public function 3
BlockPluginTrait::label public function
BlockPluginTrait::setConfiguration public function
BlockPluginTrait::setConfigurationValue public function
BlockPluginTrait::setInPreview public function
BlockPluginTrait::setTransliteration public function Sets the transliteration service.
BlockPluginTrait::submitConfigurationForm public function Most block plugins should not override this method. To add submission
handling for a specific block type, override BlockBase::blockSubmit().
BlockPluginTrait::transliteration protected function Wraps the transliteration service.
BlockPluginTrait::validateConfigurationForm public function Most block plugins should not override this method. To add validation
for a specific block type, override BlockBase::blockValidate().
BlockPluginTrait::__construct public function 19
ContextAwarePluginAssignmentTrait::addContextAssignmentElement protected function Builds a form element for assigning a context to a given slot.
ContextAwarePluginAssignmentTrait::contextHandler protected function Wraps the context handler.
ContextAwarePluginTrait::$context protected property The data objects representing the context of this plugin.
ContextAwarePluginTrait::getCacheContexts public function 7
ContextAwarePluginTrait::getCacheMaxAge public function 2
ContextAwarePluginTrait::getCacheTags public function 2
ContextAwarePluginTrait::getContext public function
ContextAwarePluginTrait::getContextDefinition public function
ContextAwarePluginTrait::getContextDefinitions public function
ContextAwarePluginTrait::getContextMapping public function 1
ContextAwarePluginTrait::getContexts public function
ContextAwarePluginTrait::getContextValue public function
ContextAwarePluginTrait::getContextValues public function
ContextAwarePluginTrait::getPluginDefinition abstract public function 1
ContextAwarePluginTrait::setContext public function 1
ContextAwarePluginTrait::setContextMapping public function
ContextAwarePluginTrait::setContextValue public function
ContextAwarePluginTrait::validateContexts public function
DerivativeInspectionInterface::getBaseId public function Gets the base_plugin_id of the plugin instance. 1
DerivativeInspectionInterface::getDerivativeId public function Gets the derivative_id of the plugin instance. 1
MessengerTrait::$messenger protected property The messenger. 13
MessengerTrait::messenger public function Gets the messenger. 13
MessengerTrait::setMessenger public function Sets the messenger.
PluginInspectionInterface::getPluginId public function Gets the plugin ID of the plugin instance. 2
PluginWithFormsTrait::getFormClass public function Implements \Drupal\Core\Plugin\PluginWithFormsInterface::getFormClass().
PluginWithFormsTrait::hasFormClass public function Implements \Drupal\Core\Plugin\PluginWithFormsInterface::hasFormClass().
StringTranslationTrait::$stringTranslation protected property The string translation service.
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use.
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
RSS feed
Powered by Drupal