class BlockBase
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Block/BlockBase.php \Drupal\Core\Block\BlockBase
- 10 core/lib/Drupal/Core/Block/BlockBase.php \Drupal\Core\Block\BlockBase
- 8.9.x core/lib/Drupal/Core/Block/BlockBase.php \Drupal\Core\Block\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 uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
- class \Drupal\Core\Block\BlockBase 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 extends \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of BlockBase
Related topics
50 files declare their use of BlockBase
- AggregatorFeedBlock.php in core/
modules/ aggregator/ src/ Plugin/ Block/ AggregatorFeedBlock.php - AjaxFormBlock.php in core/
modules/ system/ tests/ modules/ ajax_forms_test/ src/ Plugin/ Block/ AjaxFormBlock.php - AttachedRenderingBlock.php in core/
modules/ system/ tests/ modules/ render_attached_test/ src/ Plugin/ Block/ AttachedRenderingBlock.php - BlockContentBlock.php in core/
modules/ block_content/ src/ Plugin/ Block/ BlockContentBlock.php - BlockFormTest.php in core/
modules/ block/ tests/ src/ Unit/ BlockFormTest.php
File
-
core/
lib/ Drupal/ Core/ Block/ BlockBase.php, line 23
Namespace
Drupal\Core\BlockView 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;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.