alengo/block-settings-bundle
Replaces per-section Sulu form metadata visitors with a single config-driven visitor that injects multiple block settings sections in order, cutting boilerplate service classes and registrations down to one YAML list.
FormMetadataVisitor boilerplate.content_block_settings, reducing custom visitor classes.config/forms/, enabling team-wide reuse of settings (e.g., theme, spacing, anchor).XmlFormMetadataLoader and FormMetadataVisitorInterface, ensuring compatibility with Sulu’s form system. 1.1.0 adds Symfony 8 compatibility, keeping the bundle aligned with current framework releases.config/forms/—missing forms will break injection.priority: -10 may clash with existing visitors; requires testing.FormMetadataVisitor implementations?composer.json).XmlFormMetadataLoader).FormMetadataVisitor implementations for block settings.config/forms/ (or create new ones).BlockSettingsThemeFormMetadataVisitor) with a YAML-defined section.config/bundles.php to include Alengo\SuluBlockSettingsBundle.alengo_block_settings.yaml with all target sections.autowire: false or remove tags).config/forms/ before bundle activation.config/bundles.php.alengo_block_settings.yaml before removing old visitors.sulu:debug:form-metadata to inspect injected forms.var/log/dev.log for FormMetadataVisitor exceptions.| Scenario | Impact | Mitigation |
|---|---|---|
| Missing XML form | Section fails to inject | Validate config/forms/ exists |
| YAML misconfiguration | No sections injected | Use schema validation (e.g., Symfony Validator) |
| Priority conflict with existing visitor | Form order broken | Adjust priority in config |
| Sulu upgrade incompatibility | Bundle breaks | Test against Sulu’s upgrade path |
| Symfony 8 untested claim | Runtime/deprecation errors on 8.x | Validate in CI on Symfony 8 before production promotion |
| PHP requirement mismatch | Installation fails | Align PHP floor (8.2+ bundle / 8.4+ for Symfony 8) with platform |
FormMetadataVisitor; high for new teams.sulu:debug:form-metadata to verify injections.How can I help you explore Laravel packages today?