public function BlockFieldForm::buildForm in Display Suite 8.3
Same name and namespace in other branches
- 8.4 src/Form/BlockFieldForm.php \Drupal\ds\Form\BlockFieldForm::buildForm()
- 8.2 src/Form/BlockFieldForm.php \Drupal\ds\Form\BlockFieldForm::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides FieldFormBase::buildForm
File
- src/
Form/ BlockFieldForm.php, line 31
Class
- BlockFieldForm
- Configure block fields.
Namespace
Drupal\ds\FormCode
public function buildForm(array $form, FormStateInterface $form_state, $field_key = '') {
$form = parent::buildForm($form, $form_state, $field_key);
$field = $this->field;
$manager = \Drupal::service('plugin.manager.block');
$blocks = [];
foreach ($manager
->getDefinitions() as $plugin_id => $plugin_definition) {
$blocks[$plugin_id] = $plugin_definition['admin_label'];
}
asort($blocks);
$form['block_identity']['block'] = [
'#type' => 'select',
'#options' => $blocks,
'#title' => $this
->t('Block'),
'#required' => TRUE,
'#default_value' => isset($field['properties']['block']) ? $field['properties']['block'] : '',
];
$form['use_block_title'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Use block title as the field label'),
'#default_value' => isset($field['properties']['use_block_title']) ? $field['properties']['use_block_title'] : FALSE,
'#weight' => 90,
];
$form['add_block_wrappers'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Add block wrappers and classes'),
'#default_value' => isset($field['properties']['add_block_wrappers']) ? $field['properties']['add_block_wrappers'] : FALSE,
'#description' => $this
->t('Render using the block theme hook to add the block wrappers and clases.'),
'#weight' => 91,
];
return $form;
}