- Can I use aropixel/page-bundle in a Laravel application?
- Not directly. It is a Symfony bundle that depends on aropixel/admin-bundle and Doctrine entities, so it does not install as a Composer package into a Laravel app. The practical Laravel path is headless: run the bundle in a standalone Symfony app and expose pages as JSON or pre-rendered HTML over HTTP. Laravel then consumes that API while owning auth, delivery, and business logic.
- Which Symfony and PHP versions does aropixel/page-bundle support?
- The v3.0.0 release targets PHP 8.2+ and Symfony 6.4, 7.x, and 8.x, with Doctrine ORM 2 or 3. It requires aropixel/admin-bundle ^3.0 as a hard, version-pinned dependency. There is no Laravel version support because the package is Symfony-native.
- How do I install aropixel/page-bundle?
- Install with composer require aropixel/page-bundle, then import the bundle routes under a prefix such as /admin/page in config/routes.yaml. You must have aropixel/admin-bundle installed and configured first. Run make:migration and doctrine:migrations:migrate to create the page tables.
- What page types does aropixel/page-bundle provide?
- It ships three page types: standard HTML pages edited with CKEditor, visual page builder pages stored as JSON and pre-rendered to HTML at save time, and structured JSON form pages. Builder HTML is rendered on save so front-end display is zero-cost. The three-tier model fits content-heavy sites that mix rich text and modular layouts.
- How do I create custom blocks in the page builder?
- Register custom blocks with a JavaScript component plus YAML configuration, and in v3.0 the block contract is configured by the host application through Symfony config and dependency injection. This makes the extension model explicit and documented rather than inferred from source. Because the registry lives in Symfony DI, a Laravel-native admin would need to duplicate that configuration.
- Does aropixel/page-bundle support multilingual pages and SEO fields?
- Yes. Multilingual support is built in via Gedmo Translatable, with per-locale slugs, content, and pre-rendered HTML. Each locale also gets SEO fields for meta title and meta description plus its own slug. The admin interface is translated into French, English, German, Spanish, Italian, and Czech.
- How do I invalidate caches when a page is saved?
- The bundle dispatches PageSavedEvent after every page builder save. Listen for that event to purge Varnish, a CDN, Redis, or any other cache layer. In a headless Laravel setup you can forward the event as a webhook or queued job so Laravel handles delivery-side invalidation.
- Is aropixel/page-bundle abandoned or still maintained?
- v3.0.0 ended a multi-year release gap and ships against Symfony 6.4, 7.x, and 8.x with Doctrine ORM 2 or 3, so the abandonment risk is now low to medium rather than high. It is a rewrite on top of aropixel/admin-bundle ^3.0, so watch both packages for bug-fix releases. It is not a Laravel package and no Laravel maintenance is implied.
- Can I upgrade aropixel/page-bundle v2 to v3 in place?
- No. There is no in-place upgrade path from v2, so treat v3 as a greenfield adoption decision. Any v2 prototype or spike work should be considered sunk cost. Plan a fresh evaluation and migration rather than an incremental Composer bump.
- What is the best architecture for using aropixel/page-bundle with Laravel?
- Use the headless shape: run the bundle in a standalone Symfony app for authoring and expose pages as JSON or pre-rendered HTML, then consume that contract from Laravel. Do not let Eloquent and Doctrine share write access to the same schema; isolate the content database or expose read-only projections. A three- to four-week spike covering one custom block, one multilingual page, and a read API is enough to get real go/no-go numbers.