Campo booleano (padrão: ativo) que controla se a página aparece no menu
de navegação. Quando desmarcado, oculta field_menu_title no formulário
via #states e exclui a página da query em getChildPages(). O campo
field_weight permanece sempre visível, pois a ordenação se aplica
independentemente da exibição no menu.
Hook update_10015 cria storage + instância, atualiza o form display e
retroativamente define o valor como 1 para páginas existentes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
field_menu_title (string, 128 chars):
- Título alternativo para exibição no menu de navegação
- Quando preenchido, substitui o título da página no menu
- Útil para abreviar títulos longos
field_weight (integer, padrão 0):
- Controla a ordenação de páginas com o mesmo pai
- Valores menores aparecem primeiro; empate resolvido por título
StructuralPagesMenuBlock:
- Ordenação: field_weight ASC, título ASC (antes: só título)
- Título no menu: field_menu_title se preenchido, senão label()
Update 10014: cria os campos e atualiza o form display em
instalações existentes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- field_site_section migrado de entity_reference para dynamic_entity_reference,
permitindo referenciar taxonomy_term, user ou event como domínio raiz da página
- field_parent_page restrito a content_page nodes apenas (removidos taxonomy_term/user)
- Update hooks 10011–10013: migração de schema/config, limpeza de referências
inválidas e correção do tipo do storage field_parent_page para DER
- SectionBreadcrumbBuilder reescrito para usar field_site_section como raiz
- StructuralPagesMenuBlock: queries de domínio via DB direto (evita bug do
entity query com especificador target_type em campos DER)
- Formulário content_page: pre-fill de field_site_section via query params
?domain_type/domain_id ou ?parent_section_type/parent_id; atualiza widget
#default_value diretamente para refletir o valor na renderização inicial
- Parâmetro de URL parent_type renomeado para parent_section_type
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adiciona hook_update_10006 que re-sincroniza settings de field_parent_page a
partir do YAML de install, e hook_update_10007 que corrige exclude_entity_types
no storage para FALSE. Ambos evitam TypeError no PHP 8 no widget de referência
dinâmica. Atualiza também o YAML de install com a configuração correta.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- Adiciona campo field_redirect_link (link) no bundle content_page;
EventSubscriber emite redirect 301 quando o campo está preenchido
- field_site_section passa a ser obrigatório
- Formulário de content_page: AJAX no site section, select hierárquico
de página pai filtrado por seção, validação customizada
- StructuralPagesMenuBlock: MAX_DEPTH 10→50, nova lógica de raiz via
field_site_section, variável ancestor_url no render array
- Template do menu: novas classes BEM/Gva, suporte a is_redirect,
usa ancestor_url em vez de chamada Twig direta
- CSS do menu reescrito com estilos flyout/sidebar; Select2 adicionado
para o campo de página pai no formulário admin
- display_submitted desabilitado no tipo content_page
Co-Authored-By: Bauer <henrique@webcontent.com.br>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add a vocabulary selector to the settings form so the site section
vocabulary is no longer hardcoded. Remove node bundle checkboxes
(section_page/content_page are always included), keep user and group
as configurable parent targets. All hardcoded 'site_sections'
references in PHP replaced with dynamic config reads via helper.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Taxonomy term names are content, not interface strings, so .po files
don't translate them. This adds programmatic content translations via
the ContentLanguageSettings API and addTranslation/setName on each term.
- Add _structural_pages_term_translations() with pt-br name map
- Add _structural_pages_add_term_translations() to create/update translations
- Add _structural_pages_ensure_content_translation() using ContentLanguageSettings API
- Add config/optional for new installs with content_translation enabled
- Remove term name entries from .po file (ineffective for content)
- Add update hook 10004 to fix existing installations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Renames the module from site_structure to structural_pages and pluralizes
the taxonomy vocabulary machine name from site_section to site_sections,
updating all config, PHP, translations, and documentation references
while preserving field_site_section, clears_site_section, and $site_section_id.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Drupal module that provides hierarchical site structure management
with support for sections, categories, and content items. Includes
path aliases with tokens, breadcrumb integration, and admin interface.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>