alengo/sulu-content-extra-bundle
Extends Sulu CMS 3.x Pages and Articles with an Additional Data tab, built-in entities, configurable mapping for localized/unlocalized fields, auto entity registration, navigation link markers, and sortable template groups. PHP 8.2+, Symfony 7.
template_theme globally while allowing notes per language), aligning with multilingual content workflows and reducing duplication.sourceLink/sourceUuid markers for link-type pages. Example: Powering analytics dashboards or conditional UI logic based on linked content.auto_generate_proxy_classes: false), reducing deploy complexity and server load—a critical consideration for high-traffic Sulu instances.campaign_id, landing_page_variant) directly in content.additionalData.api_key for webhooks or CMS-to-CRM syncs).cache:warmup (though this is mitigated in production).*"This bundle empowers our content teams to add flexible, structured metadata to Pages and Articles—without requiring custom development. Here’s how it drives value:
sourceLink/sourceUuid, enabling smarter redirects or dynamic UI logic (e.g., ‘Show a banner if this page links to a product’).Why invest now? It’s a low-risk, high-reward solution:
Example Impact:
Let’s pilot this with a non-critical content type (e.g., blog articles) to validate the model before scaling."*
*"This bundle provides a drop-in solution for adding configurable ‘Additional Data’ tabs to Sulu Pages/Articles, with these technical advantages:
Page/Article classes automatically via PrependExtensionInterface, eliminating boilerplate.sourceLink/sourceUuid markers to link-type pages, enabling dynamic template logic (e.g., conditional rendering based on linked content).auto_generate_proxy_classes: false), optimizing deployments.Trade-offs:
page_additional_data.xml/article_additional_data.xml in your project.Recommendation: Pilot with a non-critical content type (e.g., blog articles) to validate the JSON model before rolling out to Pages. The bundle’s flexibility makes it ideal for:
campaign_id, variant).Implementation Steps:
bundles.php and configure alengo_content_extra.yaml.page_additional_data and/or article_additional_data.template_theme, campaign_id) before scaling.Why This Over Custom Development?
Next Steps:
page_additional_data to validate the JSON model.cache:warmup time)."*How can I help you explore Laravel packages today?