W3cubDocs

/Drupal 8

public function BlockBase::buildConfigurationForm

public BlockBase::buildConfigurationForm(array $form, FormStateInterface $form_state)

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.

Overrides PluginFormInterface::buildConfigurationForm

See also

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

File

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

Class

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

Namespace

Drupal\Core\Block

Code

public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
  $definition = $this->getPluginDefinition();
  $form['provider'] = array(
    '#type' => 'value',
    '#value' => $definition['provider'],
  );

  $form['admin_label'] = array(
    '#type' => 'item',
    '#title' => $this->t('Block description'),
    '#plain_text' => $definition['admin_label'],
  );
  $form['label'] = array(
    '#type' => 'textfield',
    '#title' => $this->t('Title'),
    '#maxlength' => 255,
    '#default_value' => $this->label(),
    '#required' => TRUE,
  );
  $form['label_display'] = array(
    '#type' => 'checkbox',
    '#title' => $this->t('Display title'),
    '#default_value' => ($this->configuration['label_display'] === BlockInterface::BLOCK_LABEL_VISIBLE),
    '#return_value' => BlockInterface::BLOCK_LABEL_VISIBLE,
  );

  // Add context mapping UI form elements.
  $contexts = $form_state->getTemporaryValue('gathered_contexts') ? : [];
  $form['context_mapping'] = $this->addContextAssignmentElement($this, $contexts);
  // Add plugin-specific settings for this block type.
  $form += $this->blockForm($form, $form_state);
  return $form;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Block!BlockBase.php/function/BlockBase::buildConfigurationForm/8.1.x