"content" // (migratsioon jättis need peidetuks, kuigi välja config on olemas). use Drupal\Core\Entity\Entity\EntityFormDisplay; use Drupal\Core\Entity\Entity\EntityViewDisplay; $types = [ 'emal_liige' => [ 'field_e_mail' => 'email_default', 'field_isikukood' => 'string_textfield', 'field_nimi' => 'string_textfield', 'field_sunnipaev' => 'datetime_default', 'field_liikmeks_astumise_aasta' => 'daterange_default', 'field_emal_liikme_tyyp' => 'entity_reference_autocomplete', 'field_emal_kasutaja_oigused' => 'string_textfield', 'field_muu_01' => 'string_textfield', ], 'projekt' => [ 'field_kirjeldus' => 'string_textarea', 'field_kpv_projekt' => 'daterange_default', 'field_projekt_lopetatud' => 'boolean_checkbox', 'field_dokumendid' => 'file_generic', 'field_projekt_juurdepaas' => 'entity_reference_autocomplete', 'body' => 'text_textarea_with_summary', ], 'kanne' => [ 'field_date' => 'datetime_default', 'field_deebet' => 'number', 'field_kreedit' => 'number', 'field_kirjeldus' => 'string_textarea', 'field_maksja_saaja' => 'string_textfield', 'field_kande_tyyp' => 'entity_reference_autocomplete', 'field_kasutaja' => 'entity_reference_autocomplete', 'field_projekt' => 'entity_reference_autocomplete', 'field_eelarve_rida' => 'entity_reference_autocomplete', ], ]; foreach ($types as $type => $fields) { $form = EntityFormDisplay::load("node.$type.default"); if (!$form) { echo "form puudub: $type\n"; continue; } $w = 1; foreach ($fields as $name => $widget) { // Kontrolli, et field instance ikka eksisteerib. $config = \Drupal::entityTypeManager()->getStorage('field_config') ->load("node.$type.$name"); if (!$config) { echo " skip (pole instance): $type.$name\n"; continue; } $form->setComponent($name, [ 'type' => $widget, 'weight' => $w++, 'region' => 'content', 'settings' => [], 'third_party_settings' => [], ]); echo " kuvatud: $type.$name ($widget)\n"; } $form->save(); } echo "done\n";