mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/structural_pages.git
synced 2026-05-03 19:20:42 -03:00
Add field_redirect_page to site_sections terms and fix root page hierarchy
- Add field_redirect_page to site_sections taxonomy terms, with a custom EntityReferenceSelection plugin that filters content_page nodes by section - Redirect taxonomy term canonical URLs to the configured node (301) - Fix root page detection in MenuBlock and views to also match nodes whose field_parent_page points to a taxonomy_term (not only empty parent) - Move root taxonomy-term option to the top of the parent-page dropdown - Add breadcrumb workaround for Gavias notech theme separator rendering - Add imecc_menu_helper submodule - Translate config labels and default terms from English to Portuguese Co-Authored-By: Henrique Bauer <henrique@webcontent.com.br> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.taxonomy_term.site_sections.field_redirect_page
|
||||
- field.field.taxonomy_term.site_sections.layout_builder__layout
|
||||
- taxonomy.vocabulary.site_sections
|
||||
module:
|
||||
- path
|
||||
- text
|
||||
id: taxonomy_term.site_sections.default
|
||||
targetEntityType: taxonomy_term
|
||||
bundle: site_sections
|
||||
mode: default
|
||||
content:
|
||||
description:
|
||||
type: text_textfield
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
field_redirect_page:
|
||||
type: options_select
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
langcode:
|
||||
type: language_select
|
||||
weight: 2
|
||||
region: content
|
||||
settings:
|
||||
include_locked: true
|
||||
third_party_settings: { }
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
path:
|
||||
type: path
|
||||
weight: 30
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
status:
|
||||
type: boolean_checkbox
|
||||
weight: 100
|
||||
region: content
|
||||
settings:
|
||||
display_label: true
|
||||
third_party_settings: { }
|
||||
hidden:
|
||||
layout_builder__layout: true
|
||||
@@ -0,0 +1,45 @@
|
||||
uuid: f6aa2bd0-3f75-4489-b3f9-43429491b548
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.taxonomy_term.site_sections.layout_builder__layout
|
||||
- taxonomy.vocabulary.site_sections
|
||||
module:
|
||||
- layout_builder
|
||||
- layout_discovery
|
||||
third_party_settings:
|
||||
layout_builder:
|
||||
enabled: true
|
||||
allow_custom: true
|
||||
sections:
|
||||
-
|
||||
layout_id: layout_onecol
|
||||
layout_settings:
|
||||
label: ''
|
||||
components:
|
||||
0663ed2f-1401-4e75-8a69-971333b49bc2:
|
||||
uuid: 0663ed2f-1401-4e75-8a69-971333b49bc2
|
||||
region: content
|
||||
configuration:
|
||||
id: 'field_block:taxonomy_term:site_sections:description'
|
||||
label_display: '0'
|
||||
context_mapping:
|
||||
entity: layout_builder.entity
|
||||
formatter:
|
||||
type: text_default
|
||||
label: hidden
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
weight: 0
|
||||
additional: { }
|
||||
third_party_settings: { }
|
||||
id: taxonomy_term.site_sections.default
|
||||
targetEntityType: taxonomy_term
|
||||
bundle: site_sections
|
||||
mode: default
|
||||
content: { }
|
||||
hidden:
|
||||
description: true
|
||||
langcode: true
|
||||
layout_builder__layout: true
|
||||
@@ -13,7 +13,7 @@ field_name: field_parent_page
|
||||
entity_type: node
|
||||
bundle: content_page
|
||||
label: 'Parent Page'
|
||||
description: 'Select the parent entity. The site section will be inherited automatically based on the parent type.'
|
||||
description: 'Selecione a entidade pai. A seção do site será herdada automaticamente com base no tipo de pai.'
|
||||
required: false
|
||||
translatable: false
|
||||
default_value: { }
|
||||
|
||||
@@ -11,7 +11,7 @@ id: node.content_page.field_site_section
|
||||
field_name: field_site_section
|
||||
entity_type: node
|
||||
bundle: content_page
|
||||
label: 'Site Section'
|
||||
label: 'Seção do Site'
|
||||
description: 'For root pages, select the section. For child pages, this field is filled automatically.'
|
||||
required: true
|
||||
translatable: false
|
||||
|
||||
@@ -11,8 +11,8 @@ id: node.section_page.field_site_section
|
||||
field_name: field_site_section
|
||||
entity_type: node
|
||||
bundle: section_page
|
||||
label: 'Site Section'
|
||||
description: 'Select the site section this page belongs to.'
|
||||
label: 'Seção do Site'
|
||||
description: 'Selecione a seção do site à qual esta página pertence.'
|
||||
required: true
|
||||
translatable: false
|
||||
default_value: { }
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.taxonomy_term.field_redirect_page
|
||||
- node.type.content_page
|
||||
- taxonomy.vocabulary.site_sections
|
||||
id: taxonomy_term.site_sections.field_redirect_page
|
||||
field_name: field_redirect_page
|
||||
entity_type: taxonomy_term
|
||||
bundle: site_sections
|
||||
label: 'Página de Redirecionamento'
|
||||
description: ''
|
||||
required: false
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
handler: 'default:node_site_section_redirect'
|
||||
handler_settings:
|
||||
target_bundles:
|
||||
content_page: content_page
|
||||
field_type: entity_reference
|
||||
@@ -0,0 +1,21 @@
|
||||
uuid: 726b6570-a8df-4518-8542-28446352fe46
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.taxonomy_term.layout_builder__layout
|
||||
- taxonomy.vocabulary.site_sections
|
||||
module:
|
||||
- layout_builder
|
||||
id: taxonomy_term.site_sections.layout_builder__layout
|
||||
field_name: layout_builder__layout
|
||||
entity_type: taxonomy_term
|
||||
bundle: site_sections
|
||||
label: Layout
|
||||
description: ''
|
||||
required: false
|
||||
translatable: false
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings: { }
|
||||
field_type: layout_section
|
||||
@@ -0,0 +1,19 @@
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- node
|
||||
- taxonomy
|
||||
id: taxonomy_term.field_redirect_page
|
||||
field_name: field_redirect_page
|
||||
entity_type: taxonomy_term
|
||||
type: entity_reference
|
||||
settings:
|
||||
target_type: node
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: 1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
||||
@@ -0,0 +1,19 @@
|
||||
uuid: 99f94609-3b7c-490e-80a0-96036b03e9d3
|
||||
langcode: pt-br
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- layout_builder
|
||||
- taxonomy
|
||||
id: taxonomy_term.layout_builder__layout
|
||||
field_name: layout_builder__layout
|
||||
entity_type: taxonomy_term
|
||||
type: layout_section
|
||||
settings: { }
|
||||
module: layout_builder
|
||||
locked: true
|
||||
cardinality: 1
|
||||
translatable: false
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
||||
@@ -7,7 +7,7 @@ third_party_settings:
|
||||
name: 'Content Page'
|
||||
type: content_page
|
||||
description: 'Pages with hierarchical parent-child structure for content organization.'
|
||||
help: 'For root pages, fill in the Site Section manually. For child pages, select the parent page and the section will be inherited automatically.'
|
||||
help: 'Para páginas raiz, preencha a Seção do Site manualmente. Para páginas filhas, selecione a página pai e a seção será herdada automaticamente.'
|
||||
new_revision: true
|
||||
preview_mode: 1
|
||||
display_submitted: false
|
||||
|
||||
@@ -6,7 +6,7 @@ third_party_settings:
|
||||
enabled: true
|
||||
name: 'Section Page'
|
||||
type: section_page
|
||||
description: 'Pages organized by site section, with URLs and breadcrumbs based on taxonomy.'
|
||||
description: 'Páginas organizadas por seção do site, com URLs e breadcrumbs baseados na taxonomia.'
|
||||
help: ''
|
||||
new_revision: true
|
||||
preview_mode: 1
|
||||
|
||||
@@ -5,7 +5,7 @@ dependencies:
|
||||
- structural_pages
|
||||
- taxonomy
|
||||
id: site_sections_term
|
||||
label: 'Site Sections Term'
|
||||
label: 'Termo de Seções do Site'
|
||||
type: 'canonical_entities:taxonomy_term'
|
||||
pattern: '[term:hierarchy-path]'
|
||||
selection_logic: and
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
langcode: en
|
||||
status: true
|
||||
dependencies: { }
|
||||
name: 'Site Sections'
|
||||
name: 'Seções do Site'
|
||||
vid: site_sections
|
||||
description: 'Main hierarchical structure for site organization.'
|
||||
description: 'Estrutura hierárquica principal para organização do site.'
|
||||
weight: 0
|
||||
|
||||
Reference in New Issue
Block a user