Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Easy Page Bundle

Easy Page Bundle Laravel Package

agence-adeliom/easy-page-bundle

Easy Page Bundle adds a lightweight CMS for Symfony EasyAdmin. Manage hierarchical pages in the admin dashboard and render them via simple slug-based routes like /{slug} or /{parentSlug}/{slug}, with Doctrine migrations/schema setup support.

View on GitHub
Deep Wiki
Context7

Easy Page Bundle is a lightweight CMS layer for Symfony EasyAdmin, enabling editors to create and manage hierarchical pages directly from the admin dashboard. It provides a straightforward page model and routing strategy so public URLs mirror your content tree (e.g. /{slug} or /{parentSlug}/{slug}).

  • EasyAdmin integration: add Pages to your dashboard menu and manage content via CRUD
  • Hierarchical pages with parent/child relationships
  • Automatic front routing based on page slugs and hierarchy
  • Doctrine-ready storage with support for migrations or schema updates
  • Compatible with modern Symfony versions (see branch matrix)
Frequently asked questions about Easy Page Bundle
Can I use Easy Page Bundle with Laravel? It’s a Symfony package—will it work?
No, this bundle is designed exclusively for Symfony applications. It relies on EasyAdmin, Doctrine ORM, and Symfony’s routing system, which are not compatible with Laravel. For Laravel, consider alternatives like Spatie’s Laravel CMS or October CMS.
What’s the minimal Symfony version required for the latest branch (3.x)?
The 3.x branch requires Symfony 6.4+ and PHP 8.2+. If you’re on an older Symfony version (e.g., 5.4–6.3), use the 2.x branch instead, which supports those versions. Check the [branch matrix](https://github.com/agence-adeliom/easy-page-bundle) for details.
How do I add the bundle to my Symfony Flex project?
First, add the recipe endpoint to your `composer.json` under `extra.symfony.endpoint`, then run `composer require agence-adeliom/easy-page-bundle`. The bundle will auto-configure via Symfony Flex. No manual `AppKernel.php` changes are needed.
Does this bundle support custom page templates or content blocks?
Yes, you can customize Twig templates for pages by extending the bundle’s base templates. For content blocks, the bundle provides a flexible system to define reusable sections (e.g., text, images, or custom components) via EasyAdmin CRUD configurations.
How do I set up hierarchical page URLs like `/parent/child`?
The bundle automatically generates URLs based on parent-child relationships. For example, a child page with slug `child` under a parent slug `parent` will route to `/parent/child`. No extra configuration is needed—just define the hierarchy in EasyAdmin.
Is there a way to expose pages via an API (e.g., for headless CMS use)?
The bundle is admin-focused and doesn’t include built-in API endpoints. To expose pages via API, you’d need to create custom controllers (e.g., using API Platform or Symfony’s Serializer) to fetch pages by slug or ID and return them as JSON.
Can I migrate existing pages from another CMS (e.g., WordPress, SonataAdmin) into this bundle?
Yes, but it requires manual effort. Export your existing pages (e.g., as CSV or JSON) and import them via Doctrine fixtures or a custom script. The bundle’s `Page` entity supports standard fields like `slug`, `title`, and `content`, so alignment is straightforward for basic structures.
What if I don’t use EasyAdmin? Can I still use this bundle?
No, this bundle is tightly coupled with EasyAdmin for the admin interface. Without EasyAdmin, you’d need to rebuild the CRUD logic manually or use a wrapper to integrate the `Page` entity into your existing admin system, which isn’t officially supported.
Are there any performance considerations for large page hierarchies?
The bundle uses Doctrine ORM, so deep hierarchies may impact query performance if not optimized. For large trees, consider lazy-loading child pages or implementing caching (e.g., Symfony’s HTTP cache) for rendered page content. Test with your expected dataset size.
How do I handle multilingual pages with this bundle?
The bundle doesn’t include built-in multilingual support, but you can extend it using Symfony’s translation components or libraries like Gedmo’s Translatable. Store translations in separate fields (e.g., `title_en`, `title_fr`) or use a many-to-many relationship with a `Translation` entity.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware