public function CivicrmEntityForm::form in CiviCRM Entity 8.3
Gets the actual form array to be built.
Overrides ContentEntityForm::form
See also
\Drupal\Core\Entity\EntityForm::processForm()
\Drupal\Core\Entity\EntityForm::afterBuild()
File
- src/
Form/ CivicrmEntityForm.php, line 76
Class
Namespace
Drupal\civicrm_entity\FormCode
public function form(array $form, FormStateInterface $form_state) {
$form = parent::form($form, $form_state);
$form_display_info = SupportedEntities::getFormDisplayInfo($this->entity
->getEntityTypeId());
$form['#tree'] = TRUE;
$form['#theme'] = [
'civicrm_entity_entity_form',
];
$form['#attached']['library'][] = 'civicrm_entity/form';
$form['advanced'] = [
'#type' => 'container',
'#attributes' => [
'class' => [
'entity-meta',
],
],
'#weight' => 99,
'#access' => !empty($form_display_info['groups']) && !empty($form_display_info['fields']),
];
$form['meta'] = [
'#attributes' => [
'class' => [
'entity-meta__header',
],
],
'#type' => 'container',
'#group' => 'advanced',
'#weight' => -100,
];
if (isset($form_display_info['groups'])) {
foreach ($form_display_info['groups'] as $form_display_group_key => $form_display_group) {
$form[$form_display_group_key] = [
'#type' => 'details',
'#title' => $form_display_group['title'],
'#group' => $form_display_group['group'],
'#weight' => 95,
'#optional' => TRUE,
'#open' => isset($form_display_group['open']),
];
}
}
if (isset($form_display_info['fields'])) {
foreach ($form_display_info['fields'] as $field_name => $field_display_info) {
// If the field is present, change it.
if (isset($form[$field_name])) {
if (isset($field_display_info['group'])) {
$form[$field_name]['#group'] = $field_display_info['group'];
}
}
}
}
return $form;
}