| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- // Too kõik content type'ide custom väljad "hidden" -> "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";
|