public function FieldInheritanceSettingsForm::buildForm in Field Inheritance 8
Same name and namespace in other branches
- 2.0.x src/Form/FieldInheritanceSettingsForm.php \Drupal\field_inheritance\Form\FieldInheritanceSettingsForm::buildForm()
Define the form used for Field Inheritance settings.
Parameters
array $form: An associative array containing the structure of the form.
Drupal\Core\Form\FormStateInterface $form_state: An associative array containing the current state of the form.
Return value
array Form definition array.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ FieldInheritanceSettingsForm.php, line 113
Class
- FieldInheritanceSettingsForm
- Provides a form for configuring field inheritance settings.
Namespace
Drupal\field_inheritance\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('field_inheritance.config');
$entity_types = $this->entityTypeManager
->getDefinitions();
$entity_types = array_keys(array_filter($entity_types, function ($type) {
return $type
->entityClassImplements(FieldableEntityInterface::CLASS);
}));
$entity_types = array_combine($entity_types, $entity_types);
$form['included_entities'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Included Entity Types'),
'#description' => $this
->t('Select the entity types that should be able to inherit data'),
'#options' => $entity_types,
'#default_value' => explode(',', $config
->get('included_entities')),
];
$entity_bundles = [];
foreach ($entity_types as $entity_type) {
$bundles = $this->entityTypeBundleInfo
->getBundleInfo($entity_type);
foreach (array_keys($bundles) as $bundle) {
$entity_bundles[] = $entity_type . ':' . $bundle;
}
}
$entity_bundles = array_combine($entity_bundles, $entity_bundles);
$form['included_bundles'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Included Entity Bundles'),
'#description' => $this
->t('Select the entity bundles that should be able to inherit data'),
'#options' => $entity_bundles,
'#default_value' => explode(',', $config
->get('included_bundles')),
];
return parent::buildForm($form, $form_state);
}