Download the PHP package alengo/block-settings-bundle without Composer
On this page you can find all versions of the php package alengo/block-settings-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download alengo/block-settings-bundle
More information about alengo/block-settings-bundle
Files in alengo/block-settings-bundle
Package block-settings-bundle
Short Description Configurable block settings injection for Sulu CMS content blocks
License MIT
Homepage https://github.com/alengodev/SuluBlockSettingsBundle
Informations about the package block-settings-bundle
SuluBlockSettingsBundle
Injects configurable section forms into Sulu CMS block settings via a single visitor — replacing the boilerplate of one FormMetadataVisitor class per section.
The Problem
Sulu allows extending the block settings form (content_block_settings) via FormMetadataVisitorInterface. In practice, every project needs multiple additional sections (theme, spacing, anchor, background, etc.), each requiring its own visitor class and service registration:
This bundle replaces all of that with a single visitor driven by configuration.
Installation
Register the bundle in config/bundles.php:
Configuration
Create config/packages/alengo_block_settings.yaml:
Sections are injected in the order defined. Each entry is the key of an XML form registered with Sulu's XmlFormMetadataLoader — typically placed in config/forms/.
Full configuration reference
How It Works
BlockSettingsFormMetadataVisitor is registered as a sulu_admin.form_metadata_visitor. On each visit it:
- Checks if the current form matches the configured
form_key - Loads each configured section via
XmlFormMetadataLoader - Skips sections already present (idempotent across locales)
- Appends items in configured order
Project-side XML forms
The bundle provides the injection mechanism — the actual form definitions remain in the project. Example config/forms/content_block_settings_theme.xml:
Requirements
| Package | Version |
|---|---|
| PHP | ^8.2 |
| Sulu | ^3.0 |
| Symfony | ^7.0 |
License
MIT — alengo.dev
All versions of block-settings-bundle with dependencies
sulu/sulu Version ^3.0
symfony/dependency-injection Version ^7.0
symfony/framework-bundle Version ^7.0
symfony/http-kernel Version ^7.0