From e4e2806ca6ca462cb5b454b2b799c34c999be05e Mon Sep 17 00:00:00 2001 From: bach Date: Wed, 16 Jul 2025 17:10:00 +0200 Subject: [PATCH] added combined_paragraphes for views search --- composer.json | 1 + composer.lock | 143 +++++++++++++++++- ..._enforce.registry.computed_token_field.yml | 9 ++ ...ty_form_display.node.ressource.default.yml | 8 + ...ty_view_display.node.ressource.default.yml | 21 +-- ...ty_view_display.node.ressource.sidebar.yml | 3 + ...ity_view_display.node.ressource.teaser.yml | 18 ++- config/sync/core.extension.yml | 3 +- ...de.ressource.field_combined_paragraphs.yml | 22 +++ ...storage.node.field_combined_paragraphs.yml | 20 +++ config/sync/views.view.base_de_donnees.yml | 71 +++------ 11 files changed, 252 insertions(+), 67 deletions(-) create mode 100644 config/sync/config_enforce.registry.computed_token_field.yml create mode 100644 config/sync/field.field.node.ressource.field_combined_paragraphs.yml create mode 100644 config/sync/field.storage.node.field_combined_paragraphs.yml diff --git a/composer.json b/composer.json index 2e15c80..146b9c7 100644 --- a/composer.json +++ b/composer.json @@ -18,6 +18,7 @@ "composer/installers": "^1.9", "drupal/address": "^1.10", "drupal/administerusersbyrole": "^3.0", + "drupal/computed_token_field": "^1.0@beta", "drupal/config_pages": "2.x-dev@dev", "drupal/core-composer-scaffold": "^9.2", "drupal/core-project-message": "^9.2", diff --git a/composer.lock b/composer.lock index 4ba1bab..e56b9e3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4fd5e4a3ab1652e878c246d2efec344a", + "content-hash": "73394e8d886db6bcad1c3a751f627a06", "packages": [ { "name": "alchemy/zippy", @@ -3127,6 +3127,146 @@ "source": "https://git.drupalcode.org/project/bulkdelete" } }, + { + "name": "drupal/computed_field", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/computed_field.git", + "reference": "3.0.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/computed_field-3.0.0.zip", + "reference": "3.0.0", + "shasum": "88f060658f30e196b177923dc12bc48df38042df" + }, + "require": { + "drupal/core": "^8 || ^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "3.0.0", + "datestamp": "1705775905", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "agileware", + "homepage": "https://www.drupal.org/user/89106" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "dealancer", + "homepage": "https://www.drupal.org/user/243418" + }, + { + "name": "joachim", + "homepage": "https://www.drupal.org/user/107701" + }, + { + "name": "markus_petrux", + "homepage": "https://www.drupal.org/user/39593" + }, + { + "name": "Moonshine", + "homepage": "https://www.drupal.org/user/133705" + }, + { + "name": "nickcaballero", + "homepage": "https://www.drupal.org/user/588336" + }, + { + "name": "Pedro Lozano", + "homepage": "https://www.drupal.org/user/123766" + }, + { + "name": "ram4nd", + "homepage": "https://www.drupal.org/user/601534" + } + ], + "description": "Defines a field type that allows values to be \"computed\" via PHP code.", + "homepage": "https://www.drupal.org/project/computed_field", + "support": { + "source": "https://git.drupalcode.org/project/computed_field" + } + }, + { + "name": "drupal/computed_token_field", + "version": "1.0.0-beta1", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/computed_token_field.git", + "reference": "1.0.0-beta1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/computed_token_field-1.0.0-beta1.zip", + "reference": "1.0.0-beta1", + "shasum": "fb4904822b8321c6143990d39d937f3a488980a8" + }, + "require": { + "drupal/computed_field": "^3.0", + "drupal/core": "^8 || ^9 || ^10" + }, + "require-dev": { + "drupal/eck": "*", + "drupal/field_permissions": "*", + "drupal/hide_revision_field": "*", + "drupal/inline_entity_form": "*" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "1.0.0-beta1", + "datestamp": "1741812647", + "security-coverage": { + "status": "not-covered", + "message": "Beta releases are not covered by Drupal security advisories." + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPLv2 or later" + ], + "authors": [ + { + "name": "Derek Laventure", + "homepage": "https://www.drupal.org/user/3082389", + "email": "derek@consensus.enterprises" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "ergonlogic", + "homepage": "https://www.drupal.org/user/368613" + }, + { + "name": "spiderman", + "homepage": "https://www.drupal.org/user/1631" + } + ], + "description": "Computed field that accepts a token to calculate its value.", + "homepage": "https://www.drupal.org/project/computed_token_field", + "support": { + "source": "https://git.drupalcode.org/project/computed_token_field" + } + }, { "name": "drupal/config_devel", "version": "dev-1.x", @@ -15616,6 +15756,7 @@ "minimum-stability": "stable", "stability-flags": { "drupal/bulkdelete": 20, + "drupal/computed_token_field": 10, "drupal/config_devel": 20, "drupal/config_ignore": 5, "drupal/config_pages": 20, diff --git a/config/sync/config_enforce.registry.computed_token_field.yml b/config/sync/config_enforce.registry.computed_token_field.yml new file mode 100644 index 0000000..20c7da1 --- /dev/null +++ b/config/sync/config_enforce.registry.computed_token_field.yml @@ -0,0 +1,9 @@ +_core: + default_config_hash: YzcR5HoCy8cZY5a4LLt3n4TB427E6JI5-XBV0Q419e8 +enforced_configs: + 'config_enforce:registry:computed_token_field': + config_directory: config/install + enforcement_level: 20 + config_form_uri: /en/admin/config/development/config_enforce/enforced_configs + hash: intentionally_invalid +langcode: fr diff --git a/config/sync/core.entity_form_display.node.ressource.default.yml b/config/sync/core.entity_form_display.node.ressource.default.yml index 867c414..e201a13 100644 --- a/config/sync/core.entity_form_display.node.ressource.default.yml +++ b/config/sync/core.entity_form_display.node.ressource.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.node.ressource.field_actu_liee - field.field.node.ressource.field_auteur_s_ + - field.field.node.ressource.field_combined_paragraphs - field.field.node.ressource.field_date_de_parution - field.field.node.ressource.field_edition - field.field.node.ressource.field_fichiers @@ -22,6 +23,7 @@ dependencies: - node.type.ressource module: - autocomplete_deluxe + - computed_field - datetime - field_group - file @@ -163,6 +165,12 @@ content: rows: 5 placeholder: '' third_party_settings: { } + field_combined_paragraphs: + type: computed_string_widget + weight: 142 + region: content + settings: { } + third_party_settings: { } field_date_de_parution: type: datetime_default weight: 130 diff --git a/config/sync/core.entity_view_display.node.ressource.default.yml b/config/sync/core.entity_view_display.node.ressource.default.yml index 649a2ab..1753a29 100644 --- a/config/sync/core.entity_view_display.node.ressource.default.yml +++ b/config/sync/core.entity_view_display.node.ressource.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.node.ressource.field_actu_liee - field.field.node.ressource.field_auteur_s_ + - field.field.node.ressource.field_combined_paragraphs - field.field.node.ressource.field_date_de_parution - field.field.node.ressource.field_edition - field.field.node.ressource.field_fichiers @@ -39,7 +40,7 @@ content: settings: link: true third_party_settings: { } - weight: 14 + weight: 13 region: content field_auteur_s_: type: text_default @@ -70,7 +71,7 @@ content: settings: use_description_as_link_text: true third_party_settings: { } - weight: 8 + weight: 7 region: content field_images: type: image_caption @@ -81,7 +82,7 @@ content: image_loading: attribute: lazy third_party_settings: { } - weight: 9 + weight: 8 region: content field_liens: type: link @@ -93,7 +94,7 @@ content: rel: '' target: '' third_party_settings: { } - weight: 10 + weight: 9 region: content field_mots_clefs: type: entity_reference_label @@ -101,7 +102,7 @@ content: settings: link: true third_party_settings: { } - weight: 15 + weight: 14 region: content field_projets_liee: type: entity_reference_label @@ -109,7 +110,7 @@ content: settings: link: true third_party_settings: { } - weight: 13 + weight: 12 region: content field_ress: type: entity_reference_label @@ -117,7 +118,7 @@ content: settings: link: true third_party_settings: { } - weight: 12 + weight: 11 region: content field_sous_titre: type: string @@ -134,7 +135,7 @@ content: view_mode: default link: '' third_party_settings: { } - weight: 16 + weight: 15 region: content field_type_de_media: type: entity_reference_label @@ -161,7 +162,7 @@ content: width: 854 height: 480 third_party_settings: { } - weight: 11 + weight: 10 region: content title: type: title @@ -173,7 +174,9 @@ content: weight: 0 region: content hidden: + computed_textes_paragraphes: true created: true + field_combined_paragraphs: true langcode: true links: true search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.ressource.sidebar.yml b/config/sync/core.entity_view_display.node.ressource.sidebar.yml index 41e7581..05452d4 100644 --- a/config/sync/core.entity_view_display.node.ressource.sidebar.yml +++ b/config/sync/core.entity_view_display.node.ressource.sidebar.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_view_mode.node.sidebar - field.field.node.ressource.field_actu_liee - field.field.node.ressource.field_auteur_s_ + - field.field.node.ressource.field_combined_paragraphs - field.field.node.ressource.field_date_de_parution - field.field.node.ressource.field_edition - field.field.node.ressource.field_fichiers @@ -92,8 +93,10 @@ content: weight: 1 region: content hidden: + computed_textes_paragraphes: true created: true field_actu_liee: true + field_combined_paragraphs: true field_edition: true field_fichiers: true field_liens: true diff --git a/config/sync/core.entity_view_display.node.ressource.teaser.yml b/config/sync/core.entity_view_display.node.ressource.teaser.yml index 0cd3d75..275a0d5 100644 --- a/config/sync/core.entity_view_display.node.ressource.teaser.yml +++ b/config/sync/core.entity_view_display.node.ressource.teaser.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_view_mode.node.teaser - field.field.node.ressource.field_actu_liee - field.field.node.ressource.field_auteur_s_ + - field.field.node.ressource.field_combined_paragraphs - field.field.node.ressource.field_date_de_parution - field.field.node.ressource.field_edition - field.field.node.ressource.field_fichiers @@ -31,6 +32,14 @@ targetEntityType: node bundle: ressource mode: teaser content: + computed_textes_paragraphes: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 10 + region: content field_auteur_s_: type: text_default label: hidden @@ -58,12 +67,12 @@ content: type: image_delta_formatter label: hidden settings: - deltas: '0' image_style: large - image_link: content + image_link: '' + deltas: 0 + deltas_reversed: false image_loading: attribute: lazy - deltas_reversed: 0 third_party_settings: { } weight: 0 region: content @@ -79,7 +88,7 @@ content: type: string label: hidden settings: - link_to_entity: true + link_to_entity: false third_party_settings: { } weight: 4 region: content @@ -116,6 +125,7 @@ content: hidden: created: true field_actu_liee: true + field_combined_paragraphs: true field_fichiers: true field_liens: true field_projets_liee: true diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 138bc27..c677a85 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -19,6 +19,8 @@ module: breakpoint: 0 bulkdelete: 0 ckeditor: 0 + computed_field: 0 + computed_token_field: 0 config: 0 config_devel: 0 config_filter: 0 @@ -124,7 +126,6 @@ module: update: 0 url_to_video_filter: 0 user: 0 - video_embed_dailymotion: 0 video_embed_field: 0 views_bulk_edit: 0 views_bulk_operations: 0 diff --git a/config/sync/field.field.node.ressource.field_combined_paragraphs.yml b/config/sync/field.field.node.ressource.field_combined_paragraphs.yml new file mode 100644 index 0000000..7ec42dd --- /dev/null +++ b/config/sync/field.field.node.ressource.field_combined_paragraphs.yml @@ -0,0 +1,22 @@ +uuid: ad8d5056-6727-4e36-9e83-6d04fe409af6 +langcode: fr +status: true +dependencies: + config: + - field.storage.node.field_combined_paragraphs + - node.type.ressource + module: + - computed_field +id: node.ressource.field_combined_paragraphs +field_name: field_combined_paragraphs +entity_type: node +bundle: ressource +label: combined_paragraphs +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + token_value: '[node:field_edition:value] [node:field_sous_titre:value] [node:body] [node:field_auteur_s_:value] [node:field_textes] [node:field_accroche:value]' +field_type: computed_string_long diff --git a/config/sync/field.storage.node.field_combined_paragraphs.yml b/config/sync/field.storage.node.field_combined_paragraphs.yml new file mode 100644 index 0000000..01ec849 --- /dev/null +++ b/config/sync/field.storage.node.field_combined_paragraphs.yml @@ -0,0 +1,20 @@ +uuid: f2f59d94-de34-42cb-b4a8-3223b9430157 +langcode: fr +status: true +dependencies: + module: + - computed_field + - node +id: node.field_combined_paragraphs +field_name: field_combined_paragraphs +entity_type: node +type: computed_string_long +settings: + case_sensitive: false +module: computed_field +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/views.view.base_de_donnees.yml b/config/sync/views.view.base_de_donnees.yml index 70c1449..4e0af97 100644 --- a/config/sync/views.view.base_de_donnees.yml +++ b/config/sync/views.view.base_de_donnees.yml @@ -6,7 +6,7 @@ dependencies: - core.entity_view_mode.node.teaser - field.storage.node.body - field.storage.node.field_auteur_s_ - - field.storage.node.field_date_de_parution + - field.storage.node.field_combined_paragraphs - field.storage.node.field_edition - field.storage.node.field_liens - field.storage.node.field_mots_clefs @@ -17,6 +17,7 @@ dependencies: - taxonomy.vocabulary.type_de_media - taxonomy.vocabulary.types_de_ressource module: + - computed_field - datetime - link - node @@ -528,10 +529,10 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_date_de_parution: - id: field_date_de_parution - table: node__field_date_de_parution - field: field_date_de_parution + field_combined_paragraphs: + id: field_combined_paragraphs + table: node__field_combined_paragraphs + field: field_combined_paragraphs relationship: none group_type: group admin_label: '' @@ -561,7 +562,7 @@ display: more_link: false more_link_text: '' more_link_path: '' - strip_tags: false + strip_tags: true trim: false preserve_tags: '' html: false @@ -578,9 +579,11 @@ display: empty_zero: false hide_alter_empty: true click_sort_column: value - type: datetime_plain + type: computed_string settings: - timezone_override: '' + sanitized: 1 + cache_unit: '-1' + cache_duration: '1' group_column: value group_columns: { } group_rows: true @@ -835,7 +838,7 @@ display: group_type: group admin_label: '' plugin_id: datetime - operator: '>=' + operator: '=' value: min: '' max: '' @@ -865,50 +868,18 @@ display: min_placeholder: '' max_placeholder: '' placeholder: '' - is_grouped: true + is_grouped: false group_info: - label: Date + label: '' description: '' - identifier: field_date_de_parution_value + identifier: '' optional: true widget: select multiple: false remember: false default_group: All default_group_multiple: { } - group_items: - 1: - title: '2022' - operator: between - value: - min: '2022-01-01 00:00:00' - max: '2023-01-01 00:00:00' - value: '' - type: date - 2: - title: '2023' - operator: between - value: - min: '2023-01-01 00:00:00' - max: '2024-01-01 00:00:00' - value: '' - type: date - 3: - title: '2024' - operator: between - value: - min: '2024-01-01 00:00:00' - max: '2025-01-01 00:00:00' - value: '' - type: date - 4: - title: '2025' - operator: between - value: - min: '2025-01-01 00:00:00' - max: '2026-01-01 00:00:00' - value: '' - type: date + group_items: { } combine: id: combine table: views @@ -954,11 +925,7 @@ display: default_group_multiple: { } group_items: { } fields: - title: title - field_auteur_s_: field_auteur_s_ - body: body - field_sous_titre: field_sous_titre - field_edition: field_edition + field_combined_paragraphs: field_combined_paragraphs filter_groups: operator: AND groups: @@ -1003,7 +970,7 @@ display: tags: - 'config:field.storage.node.body' - 'config:field.storage.node.field_auteur_s_' - - 'config:field.storage.node.field_date_de_parution' + - 'config:field.storage.node.field_combined_paragraphs' - 'config:field.storage.node.field_edition' - 'config:field.storage.node.field_liens' - 'config:field.storage.node.field_mots_clefs' @@ -1118,7 +1085,7 @@ display: tags: - 'config:field.storage.node.body' - 'config:field.storage.node.field_auteur_s_' - - 'config:field.storage.node.field_date_de_parution' + - 'config:field.storage.node.field_combined_paragraphs' - 'config:field.storage.node.field_edition' - 'config:field.storage.node.field_liens' - 'config:field.storage.node.field_mots_clefs'