Commit Graph

10 Commits

Author SHA1 Message Date
ffca330c89 Rewrite README.md with complete module documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:47:49 -03:00
ba3087e6eb Add content translations for site_sections taxonomy terms
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>
2026-02-05 12:41:02 -03:00
24799e9c49 Add skeleton README.md 2026-02-05 08:42:19 -03:00
c7c8205f1a Rename translation file to follow Drupal module naming convention
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 08:16:03 -03:00
88b9605408 Rename module site_structure → structural_pages and vocabulary site_section → site_sections
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>
2026-02-05 08:10:32 -03:00
7c898ad339 Fix ParentEntityHandler attribute to call parent constructor
The Plugin base class requires the parent constructor to be called
with the id and deriver parameters. This fixes a TypeError in
HookCollectorPass during container compilation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:49:04 -03:00
0c8f0fc778 Implement ParentEntityHandler plugin system for extensible entity support
Replace hardcoded entity type checks with a plugin-based architecture using
PHP 8 attributes. This allows adding new parent entity types without modifying
core module files.

Changes:
- Add ParentEntityHandler attribute, interface, base class, and manager
- Create built-in handlers for taxonomy_term, user, and node entities
- Move Group support to site_structure_group submodule (fixes class not found
  error when Group module is not installed)
- Refactor SiteStructureSettingsForm to use handler manager
- Refactor SiteStructureMenuBlock to use handler manager
- Refactor SectionBreadcrumbBuilder to use handler manager
- Update site_structure.module to use handler manager for clearsSiteSection
- Update documentation and translations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 08:35:04 -03:00
43fa9208a9 Update documentation with Site Structure Menu block
Add section describing the dynamic menu block features,
configuration options, and usage instructions. Update file
structure and changelog.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:15:27 -03:00
a52f564192 Add dynamic menu block based on site structure hierarchy
Implements SiteStructureMenuBlock that renders a navigation menu
from the ancestor entity (term, user, or group) through all
content_page hierarchies. Features configurable depth, active
trail highlighting, and proper cache invalidation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:13:51 -03:00
8a42a6f1c1 Initial commit: Site Structure module for Drupal
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>
2026-02-03 19:55:00 -03:00