friendsofvictoire/layout-widget
A PHP package from Friends of Victoire for adding reusable layout widgets to your projects. Define configurable widget areas, compose page layouts more cleanly, and render consistent blocks across templates with minimal setup.
This bundle ships the Layout widget for Victoire DCMS — the widget that lets editors drop a multi-column container into a page and nest other widgets inside each column. It is a companion bundle, not a standalone library: it only makes sense if you already run Victoire on Symfony.
symfony/symfony and victoire/core constraints before adding anything; this package will not resolve on Symfony 4+.composer require friendsofvictoire/layout-widget
If Composer fails to resolve, pin a version that matches the Symfony major you are on (^1.0 vs ^2.0), since the bundle's releases track Victoire's own.app/AppKernel.php (or bundles.php if you are on a late 3.x):
new FriendsOfVictoire\WidgetLayoutBundle\WidgetLayoutBundle(),
Order matters — it must load after VictoireCoreBundle and VictoireWidgetBundle.vendor/friendsofvictoire/layout-widget/Resources/config/ for the service definitions (the widget is auto-registered via a tag) and Resources/views/ for the Twig template that renders the grid. That template is the thing you will most likely override.If the widget does not appear in the picker, the bundle is registered but its widget service is not being collected — clear the cache (bin/console cache:clear --env=dev) and confirm the tag in the bundle's services.xml.
Victoire widgets are services with a tag, rendered through a Twig function; the Layout widget is unusual because it contains other widgets. The patterns that matter day-to-day:
victoire_widget_render-style function). You rarely call the Layout widget directly — you render the business entity/page and Victoire walks the widget tree. Use the standard render helper on the page's business entity rather than hand-calling individual widgets.app/Resources/FriendsOfVictoireWidgetLayoutBundle/views/ (or your theme bundle) and adjust the markup. This is the supported extension point for changing the grid classes — Bootstrap, Foundation, CSS Grid, all achieved through the overridden template, not PHP.<body>, global containers) — inside a column they inherit the layout's sizing.victoire/core and victoire/widget are the real dependencies; verify they are present and correctly configured first.app/Resources/.../views/ must match the bundle's name exactly (FriendsOfVictoireWidgetLayoutBundle). A typo here silently falls back to the vendor template, which is a classic time sink.vcs repository entry in composer.json rather than expecting a release.How can I help you explore Laravel packages today?