From d135c3976c667f8bc303a062c8854d4331b682ca Mon Sep 17 00:00:00 2001 From: Yeni Atencio <47239456+yeniatencio@users.noreply.github.com> Date: Mon, 22 Jul 2024 17:39:53 +1000 Subject: [PATCH] added config field and hook (#156) * added config field and hook * added storage field * fixed lint * added hash commit * updated hook * update hook update * added form configs files * cleaned files * removed unwanted file * updated label --- ...rm_display.taxonomy_term.sites.default.yml | 35 ++++++++++++------- ...ew_display.taxonomy_term.sites.default.yml | 2 ++ ...my_term.sites.field_additional_comment.yml | 28 +++++++++++++++ ...taxonomy_term.field_additional_comment.yml | 22 ++++++++++++ tests/behat/features/sites.feature | 1 + tide_site.install | 33 +++++++++++++++++ 6 files changed, 108 insertions(+), 13 deletions(-) create mode 100644 config/install/field.field.taxonomy_term.sites.field_additional_comment.yml create mode 100644 config/install/field.storage.taxonomy_term.field_additional_comment.yml diff --git a/config/install/core.entity_form_display.taxonomy_term.sites.default.yml b/config/install/core.entity_form_display.taxonomy_term.sites.default.yml index c34e653..8976a34 100644 --- a/config/install/core.entity_form_display.taxonomy_term.sites.default.yml +++ b/config/install/core.entity_form_display.taxonomy_term.sites.default.yml @@ -4,6 +4,7 @@ dependencies: config: - entity_browser.browser.tide_image_browser - field.field.taxonomy_term.sites.field_acknowledgement_to_country + - field.field.taxonomy_term.sites.field_additional_comment - field.field.taxonomy_term.sites.field_print_friendly_logo - field.field.taxonomy_term.sites.field_prominence_ack_to_country - field.field.taxonomy_term.sites.field_show_table_of_contents @@ -38,7 +39,7 @@ third_party_settings: label: 'Table of contents' region: content parent_name: '' - weight: 17 + weight: 19 format_type: details format_settings: classes: '' @@ -54,7 +55,15 @@ mode: default content: field_acknowledgement_to_country: type: string_textarea - weight: 11 + weight: 13 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_additional_comment: + type: text_textarea + weight: 5 region: content settings: rows: 5 @@ -69,7 +78,7 @@ content: third_party_settings: { } field_prominence_ack_to_country: type: string_textarea - weight: 12 + weight: 14 region: content settings: rows: 5 @@ -97,7 +106,7 @@ content: maxlength_js_truncate_html: false field_site_footer_logos: type: entity_reference_paragraphs - weight: 8 + weight: 9 region: content settings: title: Paragraph @@ -110,7 +119,7 @@ content: third_party_settings: { } field_site_footer_menu: type: entity_reference_autocomplete - weight: 6 + weight: 7 region: content settings: match_operator: CONTAINS @@ -120,7 +129,7 @@ content: third_party_settings: { } field_site_footer_text: type: text_textarea - weight: 7 + weight: 8 region: content settings: rows: 5 @@ -128,7 +137,7 @@ content: third_party_settings: { } field_site_homepage: type: entity_reference_autocomplete - weight: 9 + weight: 10 region: content settings: match_operator: CONTAINS @@ -146,7 +155,7 @@ content: third_party_settings: { } field_site_main_menu: type: entity_reference_autocomplete - weight: 5 + weight: 6 region: content settings: match_operator: CONTAINS @@ -156,7 +165,7 @@ content: third_party_settings: { } field_site_og_image: type: entity_browser_entity_reference - weight: 13 + weight: 15 region: content settings: entity_browser: tide_image_browser @@ -171,7 +180,7 @@ content: third_party_settings: { } field_site_show_exit_site: type: boolean_checkbox - weight: 10 + weight: 11 region: content settings: display_label: true @@ -186,7 +195,7 @@ content: third_party_settings: { } field_site_social_links: type: link_default - weight: 15 + weight: 17 region: content settings: placeholder_url: 'https://example.com/Social' @@ -197,7 +206,7 @@ content: maxlength_js_label: 'Link text limited to @limit characters, remaining: @remaining' field_site_twitter_image: type: entity_browser_entity_reference - weight: 14 + weight: 16 region: content settings: entity_browser: tide_image_browser @@ -228,7 +237,7 @@ content: third_party_settings: { } status: type: boolean_checkbox - weight: 16 + weight: 18 region: content settings: display_label: true diff --git a/config/install/core.entity_view_display.taxonomy_term.sites.default.yml b/config/install/core.entity_view_display.taxonomy_term.sites.default.yml index 3b7c974..98416ec 100644 --- a/config/install/core.entity_view_display.taxonomy_term.sites.default.yml +++ b/config/install/core.entity_view_display.taxonomy_term.sites.default.yml @@ -3,6 +3,7 @@ status: true dependencies: config: - field.field.taxonomy_term.sites.field_acknowledgement_to_country + - field.field.taxonomy_term.sites.field_additional_comment - field.field.taxonomy_term.sites.field_print_friendly_logo - field.field.taxonomy_term.sites.field_prominence_ack_to_country - field.field.taxonomy_term.sites.field_show_table_of_contents @@ -178,4 +179,5 @@ content: region: content hidden: description: true + field_additional_comment: true search_api_excerpt: true diff --git a/config/install/field.field.taxonomy_term.sites.field_additional_comment.yml b/config/install/field.field.taxonomy_term.sites.field_additional_comment.yml new file mode 100644 index 0000000..14c8572 --- /dev/null +++ b/config/install/field.field.taxonomy_term.sites.field_additional_comment.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_additional_comment + - taxonomy.vocabulary.sites + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + allowed_formats: { } +id: taxonomy_term.sites.field_additional_comment +field_name: field_additional_comment +entity_type: taxonomy_term +bundle: sites +label: 'Content rating form help text' +description: '' +required: false +translatable: false +default_value: + - + value: '

If you need a response, please use our contact us form.

' + format: rich_text +default_value_callback: '' +settings: + allowed_formats: { } +field_type: text_long diff --git a/config/install/field.storage.taxonomy_term.field_additional_comment.yml b/config/install/field.storage.taxonomy_term.field_additional_comment.yml new file mode 100644 index 0000000..c442a82 --- /dev/null +++ b/config/install/field.storage.taxonomy_term.field_additional_comment.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - taxonomy + - text +third_party_settings: + field_permissions: + permission_type: public +id: taxonomy_term.field_additional_comment +field_name: field_additional_comment +entity_type: taxonomy_term +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/tests/behat/features/sites.feature b/tests/behat/features/sites.feature index de87f05..c8b5f2c 100644 --- a/tests/behat/features/sites.feature +++ b/tests/behat/features/sites.feature @@ -11,6 +11,7 @@ Feature: Sites taxonomy vocabulary And I see field "Slogan" And I see field "Logo" And I see field "Footer text" + And I see field "Additional comment" And I see field "Domains" And I see field "Main menu" And I see field "Footer menu" diff --git a/tide_site.install b/tide_site.install index 8334805..99d9add 100644 --- a/tide_site.install +++ b/tide_site.install @@ -17,3 +17,36 @@ function tide_site_install() { } } } + +/** + * New field taxonomy image logo. + */ +function tide_site_update_10001() { + module_load_include('inc', 'tide_core', 'includes/helpers'); + $config_location = [\Drupal::service('extension.list.module')->getPath('tide_site') . '/config/install']; + + $configs = [ + 'field.storage.taxonomy_term.field_additional_comment' => 'field_storage_config', + 'field.field.taxonomy_term.sites.field_additional_comment' => 'field_config', + ]; + // Check if field already exported to config/sync. + foreach ($configs as $config => $type) { + $config_read = _tide_read_config($config, $config_location, TRUE); + $storage = \Drupal::entityTypeManager()->getStorage($type); + $config_entity = $storage->createFromStorageRecord($config_read); + $config_entity->save(); + } + + $form_configs = [ + 'core.entity_form_display.taxonomy_term.sites.default', + 'core.entity_view_display.taxonomy_term.sites.default', + ]; + foreach ($form_configs as $form_config) { + $config = \Drupal::configFactory()->getEditable($form_config); + $config_read = _tide_read_config($form_config, $config_location, FALSE); + $config->set('dependencies', $config_read['dependencies']); + $config->set('content', $config_read['content']); + $config->set('hidden', $config_read['hidden']); + $config->save(); + } +}