function BlockPluginTrait::buildConfigurationForm
Same name in other branches
- 9 core/lib/Drupal/Core/Block/BlockPluginTrait.php \Drupal\Core\Block\BlockPluginTrait::buildConfigurationForm()
- 8.9.x core/lib/Drupal/Core/Block/BlockPluginTrait.php \Drupal\Core\Block\BlockPluginTrait::buildConfigurationForm()
- 10 core/lib/Drupal/Core/Block/BlockPluginTrait.php \Drupal\Core\Block\BlockPluginTrait::buildConfigurationForm()
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.
See also
\Drupal\Core\Block\BlockBase::blockForm()
1 call to BlockPluginTrait::buildConfigurationForm()
- BlockBase::buildConfigurationForm in core/
lib/ Drupal/ Core/ Block/ BlockBase.php - Form constructor.
File
-
core/
lib/ Drupal/ Core/ Block/ BlockPluginTrait.php, line 161
Class
- BlockPluginTrait
- Provides the base implementation of a block plugin.
Namespace
Drupal\Core\BlockCode
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$definition = $this->getPluginDefinition();
$form['provider'] = [
'#type' => 'value',
'#value' => $definition['provider'],
];
$form['admin_label'] = [
'#type' => 'item',
'#title' => $this->t('Block description'),
'#plain_text' => $definition['admin_label'],
];
$form['label'] = [
'#type' => 'textfield',
'#title' => $this->t('Title'),
'#maxlength' => 255,
'#default_value' => $this->label(),
'#required' => TRUE,
];
$form['label_display'] = [
'#type' => 'checkbox',
'#title' => $this->t('Display title'),
'#default_value' => $this->configuration['label_display'] === BlockPluginInterface::BLOCK_LABEL_VISIBLE,
'#return_value' => BlockPluginInterface::BLOCK_LABEL_VISIBLE,
];
// Add plugin-specific settings for this block type.
$form += $this->blockForm($form, $form_state);
return $form;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.