Skip to content

kbyjoel/page-bundle

 
 

Repository files navigation

Aropixel logo

Aropixel Page Bundle

A page management module for Symfony, built as a companion to Aropixel Admin Bundle.

Last commit Issues License


Features

  • Three page types: standard HTML (CKEditor), visual page builder (JSON → pre-rendered HTML), and structured JSON forms
  • Visual page builder — block-based drag-and-drop editor with sections, rows, columns, text, images, buttons, titles, and more; HTML is pre-rendered at save time so front-end display is zero-cost
  • Custom block types — extend the page 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 support via Gedmo Translatable; per-locale slugs, content, and pre-rendered HTML. Interface available in French, English, German, Spanish, Italian and Czech.
  • SEO fields — meta title, meta description, and slug per locale
  • Publication scheduling — online/offline status with optional date range
  • PageSavedEvent — dispatched after every page builder save; use it to invalidate Varnish, CDN, Redis, or any cache layer

Requirements

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

Quick start

composer require aropixel/page-bundle

Import the routes in config/routes.yaml:

aropixel_page:
    resource: "@AropixelPageBundle/src/Resources/config/routes.yaml"
    prefix: /admin/page

Run migrations:

php bin/console make:migration
php bin/console doctrine:migrations:migrate

See the full installation guide for entity extension, Doctrine mapping, and bundle configuration.


Page types

Type Storage Use case
TYPE_DEFAULT htmlContent Simple pages edited via CKEditor
TYPE_CUSTOM jsonContent + htmlContent (pre-rendered) Visual page builder
Custom JSON jsonContent Structured forms with named fields (e.g. contact page with phone/address)

For TYPE_CUSTOM, the page builder JSON payload is rendered to HTML at save time and stored in htmlContent. Front-end display is a simple {{ page.htmlContent|raw }} — no rendering overhead per request.


Documentation


Contributing

JavaScript assets

The JavaScript source lives in assets/. The src/Resources/public/js/ directory is generated from it for Webpack Encore compatibility and must be kept in sync.

After any change to files in assets/, run:

npm run build

Then commit both assets/ and src/Resources/public/js/ together. Pull requests that modify assets/ without rebuilding will be rejected by CI.


License

Aropixel Page Bundle is released under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 62.3%
  • PHP 19.5%
  • Twig 13.7%
  • CSS 4.5%