public function AbrconfigForm::fieldDataFetch in Access by Reference 8.2
2 calls to AbrconfigForm::fieldDataFetch()
- AbrconfigForm::getFieldsList in src/
Form/ AbrconfigForm.php - AbrconfigForm::getUserFieldsList in src/
Form/ AbrconfigForm.php
File
- src/
Form/ AbrconfigForm.php, line 69
Class
- AbrconfigForm
- Form handler for the Example add and edit forms.
Namespace
Drupal\access_by_ref\FormCode
public function fieldDataFetch($contentType, $bundle = 'node', $property = 'label') {
/** @var $entityFieldManager \Drupal\Core\Entity\EntityFieldManagerInterface **/
$entityFieldManager = \Drupal::service('entity_field.manager');
$fields = [];
if (!empty($contentType)) {
$fields = array_filter($entityFieldManager
->getFieldDefinitions($bundle, $contentType), function ($field_definition) {
return $field_definition instanceof FieldConfigInterface;
});
}
switch ($property) {
case 'label':
foreach ($fields as $key => &$field) {
$fields[$key] = $field
->label();
}
break;
case 'type':
foreach ($fields as $key => &$field) {
$fields[$key] = $field
->getType();
}
break;
case 'handler':
foreach ($fields as $key => &$field) {
$fields[$key] = $field
->getSetting('handler');
}
break;
case 'omni':
foreach ($fields as $key => &$field) {
$vals = array(
'handler' => $field
->getSetting('handler'),
'type' => $field
->getType(),
'label' => $field
->label(),
);
$fields[$key] = $vals;
}
break;
}
return $fields;
}