Skip to content

AropixelPageBundle

A page management module for Symfony, built as a companion to AropixelAdminBundle — a lightweight alternative to a traditional CMS.

GitHub — aropixel/page-bundle

AropixelPageBundle: dragging a block into place in the visual page builder

Three page types, one bundle

TypeStorageUse case
TYPE_DEFAULThtmlContentSimple pages edited via CKEditor
TYPE_CUSTOMjsonContent + pre-rendered htmlContentVisual page builder
Custom JSONjsonContentStructured forms with named fields (e.g. a contact page with phone/address)

For the visual builder, the page builder JSON payload is rendered to HTML at save time — so front-end display is a plain {{ page.htmlContent|raw }}, with zero rendering overhead per request.

Key features

  • Visual page builder — block-based drag-and-drop editor: sections, rows, columns, text, images, buttons, titles and more
  • Custom block types — extend the builder with your own blocks via a simple JS + YAML registration
  • Fixed / protected pages — declare non-deletable system pages (homepage, contact…) with a static code for reliable lookups
  • Multilingual — full i18n via Gedmo Translatable, with per-locale slugs, content and pre-rendered HTML
  • SEO fields — meta title, meta description and slug, per locale
  • Publication scheduling — online/offline status with an optional date range
  • PageSavedEvent — dispatched after every save, to invalidate Varnish, a CDN, Redis, or any cache layer

Requirements

  • PHP 8.2+
  • Symfony 6.4 or 7.x
  • aropixel/admin-bundle installed and configured

Install

bash
composer require aropixel/page-bundle
yaml
# config/routes.yaml
aropixel_page:
    resource: "@AropixelPageBundle/src/Resources/config/routes.yaml"
    prefix: /admin/page
bash
php bin/console make:migration
php bin/console doctrine:migrations:migrate

Documentation

Released under the MIT License.