From e07eb74824dde419a6a558a2824248d90f3192b3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 1 Jul 2025 12:22:22 +0100 Subject: [PATCH] Add related podcast episodes by the same guests --- ...w_display.node.podcast_episode.default.yml | 68 +++++ .../views.view.other_podcasts_by_guest.yml | 286 ++++++++++++++++++ 2 files changed, 354 insertions(+) create mode 100644 config/sync/views.view.other_podcasts_by_guest.yml diff --git a/config/sync/core.entity_view_display.node.podcast_episode.default.yml b/config/sync/core.entity_view_display.node.podcast_episode.default.yml index e5387e897..09a40c440 100644 --- a/config/sync/core.entity_view_display.node.podcast_episode.default.yml +++ b/config/sync/core.entity_view_display.node.podcast_episode.default.yml @@ -9,9 +9,77 @@ dependencies: - field.field.node.podcast_episode.field_podcast_guests - field.field.node.podcast_episode.field_topic - node.type.podcast_episode + - views.view.other_podcasts_by_guest module: + - layout_builder + - layout_discovery - text - user + - views +third_party_settings: + layout_builder: + enabled: true + allow_custom: false + sections: + - + layout_id: layout_onecol + layout_settings: + label: '' + components: + 35d9fb61-35c1-4693-ae5a-f5e0dfff5ed8: + uuid: 35d9fb61-35c1-4693-ae5a-f5e0dfff5ed8 + region: content + configuration: + id: 'field_block:node:podcast_episode:field_episode_recording' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: entity_reference_entity_view + label: hidden + settings: + view_mode: default + link: true + third_party_settings: { } + weight: 0 + additional: { } + 36e41b74-3153-4709-a6c0-e74e23c2f4f2: + uuid: 36e41b74-3153-4709-a6c0-e74e23c2f4f2 + region: content + configuration: + id: 'field_block:node:podcast_episode:body' + label_display: '0' + context_mapping: + entity: layout_builder.entity + formatter: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + additional: { } + third_party_settings: { } + - + layout_id: layout_onecol + layout_settings: + label: '' + context_mapping: { } + components: + 1446b91f-85b6-440d-92bd-bbd07dae8650: + uuid: 1446b91f-85b6-440d-92bd-bbd07dae8650 + region: content + configuration: + id: 'views_block:other_podcasts_by_guest-block_1' + label: '' + label_display: visible + provider: views + context_mapping: + nid: layout_builder.entity + views_label: '' + items_per_page: none + weight: 0 + additional: { } + third_party_settings: { } id: node.podcast_episode.default targetEntityType: node bundle: podcast_episode diff --git a/config/sync/views.view.other_podcasts_by_guest.yml b/config/sync/views.view.other_podcasts_by_guest.yml new file mode 100644 index 000000000..8c93275c6 --- /dev/null +++ b/config/sync/views.view.other_podcasts_by_guest.yml @@ -0,0 +1,286 @@ +uuid: 5c05c8ab-0140-4a86-a987-ceff9991aaef +langcode: en +status: true +dependencies: + config: + - node.type.podcast_episode + - taxonomy.vocabulary.podcast_guest + module: + - node + - taxonomy + - user +id: other_podcasts_by_guest +label: 'Other podcasts by guest' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Related podcast episodes' + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '{{ arguments.field_podcast_guests_target_id }}' + 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: string + settings: + link_to_entity: true + 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 + pager: + type: some + options: + offset: 0 + items_per_page: 5 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: node_nid + default_action: default + exception: + value: '' + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: true + validate: + type: 'entity:node' + fail: 'not found' + validate_options: + bundles: + podcast_episode: podcast_episode + access: false + operation: view + multiple: 0 + break_phrase: false + not: true + tid: + id: tid + table: taxonomy_index + field: tid + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + default_action: default + exception: + value: '' + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: taxonomy_tid + default_argument_options: + term_page: '0' + node: true + limit: false + vids: { } + anyall: + + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: true + validate: + type: 'entity:taxonomy_term' + fail: 'not found' + validate_options: + bundles: + podcast_guest: podcast_guest + access: false + operation: view + multiple: 1 + break_phrase: true + add_table: false + require_value: false + reduce_duplicates: true + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + podcast_episode: podcast_episode + style: + type: html_list + options: + grouping: { } + row_class: '' + default_row_class: true + type: ul + wrapper_class: item-list + class: '' + row: + type: fields + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + id: block_1 + display_title: Block + display_plugin: block + position: 1 + display_options: + display_extenders: { } + block_hide_empty: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'user.node_grants:view' + - user.permissions + tags: { }