public function DisplayFieldCopyForm::buildForm in Display Field Copy 2.x
Same name and namespace in other branches
- 8 src/Form/DisplayFieldCopyForm.php \Drupal\display_field_copy\Form\DisplayFieldCopyForm::buildForm()
File
- src/
Form/ DisplayFieldCopyForm.php, line 80
Class
- DisplayFieldCopyForm
- Configure copy fields.
Namespace
Drupal\display_field_copy\FormCode
public function buildForm(array $form, FormStateInterface $form_state, $field_key = '') {
$form = parent::buildForm($form, $form_state, $field_key);
$form['entities']['#access'] = FALSE;
$form['ui_limit']['#access'] = FALSE;
$options = [];
foreach ($this->entityTypeManager
->getDefinitions() as $entity_type_id => $entity_type) {
if (!$entity_type instanceof ContentEntityTypeInterface) {
continue;
}
$bundles = $this->entityTypeBundleInfo
->getBundleInfo($entity_type_id);
foreach ($bundles as $bundle_id => $data) {
$fields = $this->entityFieldManager
->getFieldDefinitions($entity_type_id, $bundle_id);
foreach ($fields as $field_id => $field) {
if ($field instanceof BaseFieldDefinition) {
$options[$entity_type_id . '.' . $field_id] = $entity_type
->getLabel() . ' - ' . $field
->getLabel();
}
elseif ($field instanceof FieldConfigInterface) {
$options[$field
->id()] = $entity_type
->getLabel() . ' (' . $data['label'] . ') - ' . $field
->label();
}
}
}
}
$field = $this->field;
$form['ds_field_identity']['field_id'] = array(
'#type' => 'select',
'#options' => $options,
'#title' => t('Fields'),
'#required' => TRUE,
'#default_value' => isset($field['properties']['field_id']) ? $field['properties']['field_id'] : '',
);
return $form;
}