public function PanopolyAdminBlocksForm::buildForm in Panopoly 8.2
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 FormInterface::buildForm
File
- modules/
panopoly/ panopoly_admin/ src/ Form/ PanopolyAdminBlocksForm.php, line 63
Class
- PanopolyAdminBlocksForm
- Form to administer available blocks.
Namespace
Drupal\panopoly_admin\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this->configFactory
->get('panopoly_admin.settings');
$blocks = $config
->get('blocks');
$form['blocks'] = [
'#type' => 'vertical_tabs',
];
$definitions = $this->blockManager
->getFilteredDefinitions('layout_builder', NULL, [
'panopoly_admin_blocks_form' => TRUE,
]);
$definitions = $this->blockManager
->getGroupedDefinitions($definitions);
foreach ($definitions as $group_name => $group) {
$key = $group_name;
if (empty($group_name)) {
$group_name = $this
->t('Miscellaneous');
}
$form[$key] = [
'#type' => 'details',
'#title' => $group_name,
'#group' => 'blocks',
];
foreach ($group as $block_id => $definition) {
$form[$key][$block_id] = [
'#type' => 'checkbox',
'#title' => isset($definition['admin_label']) ? $definition['admin_label'] : $block_id,
'#default_value' => isset($blocks[$block_id]) ? $blocks[$block_id] : TRUE,
'#parents' => [
'block_values',
$block_id,
],
];
}
}
$form['submit'] = [
'#type' => 'submit',
'#value' => $this
->t('Save'),
];
return $form;
}