From 37a7517443ab8d1aedf7fe61705796dbcfa608d6 Mon Sep 17 00:00:00 2001 From: bach Date: Tue, 4 Nov 2025 12:46:36 +0100 Subject: [PATCH] ressource conditionnal link if gallerie photo --- composer.json | 1 + composer.lock | 58 ++++- config/sync/core.extension.yml | 1 + config/sync/views.view.ressources.yml | 328 ++++++++++++++++++++++++-- 4 files changed, 372 insertions(+), 16 deletions(-) diff --git a/composer.json b/composer.json index 4aed053..7b555ae 100644 --- a/composer.json +++ b/composer.json @@ -45,6 +45,7 @@ "drupal/views_autocomplete_filters": "^2.0", "drupal/views_block_area": "^1.0@beta", "drupal/views_bulk_operations": "^4.4", + "drupal/views_conditional": "^1.10", "drupal/views_year_filter": "^2.1", "drupal/viewsreference": "^2.0@beta", "drupal/yaml_editor": "^1.2", diff --git a/composer.lock b/composer.lock index 5b0b2dd..68c983a 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": "cf235184fedb5ff9016eeb5ccb363251", + "content-hash": "537f939f0abf640dece13d2f934eb6ee", "packages": [ { "name": "asm89/stack-cors", @@ -8197,6 +8197,62 @@ "docs": "https://www.drupal.org/docs/contributed-modules/views-bulk-operations-vbo" } }, + { + "name": "drupal/views_conditional", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/views_conditional.git", + "reference": "8.x-1.10" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/views_conditional-8.x-1.10.zip", + "reference": "8.x-1.10", + "shasum": "54997357c05b7f08b87411018eed3aafd3e65547" + }, + "require": { + "drupal/core": "^9 || ^10 || ^11" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.10", + "datestamp": "1727901408", + "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": "anand.toshniwal93", + "homepage": "https://www.drupal.org/user/3345088" + }, + { + "name": "joelpittet", + "homepage": "https://www.drupal.org/user/160302" + }, + { + "name": "MChittenden", + "homepage": "https://www.drupal.org/user/2288348" + }, + { + "name": "shelane", + "homepage": "https://www.drupal.org/user/2674989" + } + ], + "description": "Allows conditional views output.", + "homepage": "https://www.drupal.org/project/views_conditional", + "support": { + "source": "https://git.drupalcode.org/project/views_conditional" + } + }, { "name": "drupal/views_year_filter", "version": "2.1.6", diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index d87dda4..38aa027 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -126,6 +126,7 @@ module: views_block_area: 0 views_bulk_edit: 0 views_bulk_operations: 0 + views_conditional: 0 views_ui: 0 views_year_filter: 0 viewsreference: 0 diff --git a/config/sync/views.view.ressources.yml b/config/sync/views.view.ressources.yml index 660cbc4..2fc9b77 100644 --- a/config/sync/views.view.ressources.yml +++ b/config/sync/views.view.ressources.yml @@ -24,12 +24,14 @@ dependencies: - formatter_suite - image - link + - manage_display - node - taxonomy - text - user - verf - video_embed_field + - views_conditional id: ressources label: Ressources module: views @@ -109,6 +111,68 @@ display: multi_type: separator separator: ', ' field_api_classes: false + field_type_de_ressource_1: + id: field_type_de_ressource_1 + table: node__field_type_de_ressource + field: field_type_de_ressource + relationship: none + group_type: group + admin_label: 'Ressource type ID' + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_entity_id + settings: { } + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false weight: id: weight table: taxonomy_term_field_data @@ -503,11 +567,141 @@ display: field: title relationship: none group_type: group - admin_label: '' + admin_label: 'Title not linked' entity_type: node entity_field: title plugin_id: field label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: title + settings: + link_to_entity: false + tag: h2 + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title_2: + id: title_2 + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: 'Title linked' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: title + settings: + link_to_entity: true + tag: h2 + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + views_conditional_field_1: + id: views_conditional_field_1 + table: views_conditional + field: views_conditional_field + relationship: none + group_type: group + admin_label: 'Conditionnal title linked for gallerie OR not linked' + plugin_id: views_conditional_field + label: '' exclude: false alter: alter_text: false @@ -548,20 +742,14 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: false - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false + if: field_type_de_ressource_1 + condition: eq + equalto: '17' + then: '{{ title_2 }}' + then_translate: false + or: '{{ title_1 }}' + or_translate: false + strip_tags: false field_sous_titre_1: id: field_sous_titre_1 table: node__field_sous_titre @@ -1079,6 +1267,116 @@ display: multi_type: separator separator: ', ' field_api_classes: false + view_node: + id: view_node + table: node + field: view_node + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_link + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: 'Voir la gallerie photo' + output_url_as_text: false + absolute: false + views_conditional_field: + id: views_conditional_field + table: views_conditional + field: views_conditional_field + relationship: none + group_type: group + admin_label: 'conditional gallerie link' + plugin_id: views_conditional_field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + if: field_type_de_ressource_1 + condition: eq + equalto: '17' + then: '{{ view_node }}' + then_translate: true + or: '' + or_translate: true + strip_tags: false pager: type: none options: