PHPackages                             spyrit/page-builder-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. spyrit/page-builder-bundle

ActiveSymfony-bundle[Database &amp; ORM](/categories/database)

spyrit/page-builder-bundle
==========================

A page builder for Symfony and Doctrine.

1.0.8(9mo ago)96.5k↓50%5[1 issues](https://github.com/spyrit/page-builder-bundle/issues)MITPHPPHP &gt;=7.1.1CI failing

Since Apr 18Pushed 9mo ago7 watchersCompare

[ Source](https://github.com/spyrit/page-builder-bundle)[ Packagist](https://packagist.org/packages/spyrit/page-builder-bundle)[ Docs](https://github.com/spyrit/SpyritPageBuilderBundle.git)[ RSS](/packages/spyrit-page-builder-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (10)Used By (0)

SpyritPageBuilderBundle
=======================

[](#spyritpagebuilderbundle)

About
=====

[](#about)

A page builder to integrate in a Symfony/Doctrine/Twig project.

**Notice**: this bundle is highly experimental, there may be important changes without warning.

Basic principles
----------------

[](#basic-principles)

A *page* is a set of *lines* which contain *zones* (think about the Bootstrap grid with *rows* and *divs* that cover columns).

Each zone can contain one or several *blocks*. A block is an instantiation of a *widget*. Widgets are a set of configurable elements.

A few widgets (button, image, horizontal line, text) are provided but you will need to implement your own based on the purpose of your application (custom videos, articles, etc.).

[![Example of the page builder](screenshot1.png)](screenshot1.png)

Installation
============

[](#installation)

Require the bundle with composer:

```
composer require spyrit/page-builder-bundle

```

Storage
=======

[](#storage)

Ideally, we would like this bundle to be storage-agnostic.

For now, it has only been used with Doctrine, so you are encouraged to set up database, and the following entities Block, Page, Zone.

You can name those entities as you like. You can create specific entities or reuse ones from your project. You **can** make them use `BlockTrait`, `PageTrait` and `ZoneTrait` but you don't have to. But your entities **must** extend `BlockInterface`, `PageInterface`, `ZoneInterface`.

```
