PHPackages                             jbouzekri/simple-page-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. [Templating &amp; Views](/categories/templating)
4. /
5. jbouzekri/simple-page-bundle

ActiveSymfony-bundle[Templating &amp; Views](/categories/templating)

jbouzekri/simple-page-bundle
============================

Provides simple static page admin and display

v1.0(11y ago)052MITPHP

Since Aug 6Pushed 11y ago1 watchersCompare

[ Source](https://github.com/jbouzekri/SimplePageBundle)[ Packagist](https://packagist.org/packages/jbouzekri/simple-page-bundle)[ Docs](https://github.com/jbouzekri/SimplePageBundle)[ RSS](/packages/jbouzekri-simple-page-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

SimplePageBundle
================

[](#simplepagebundle)

This bundle provides base classes to manage static page in your project and gives your users the mean to edit and change them with an admin interface. It was developed because a lot people asked for this simple functions and I was tired to implement it again and again with little difference.

Installation
------------

[](#installation)

Add `jbouzekri/simple-page-bundle` as a dependency in [composer.json](composer.json).

```
"jbouzekri/simple-page-bundle": "1.*"
```

Enable the bundle in your AppKernel :

```
$bundles = array(
    ...
    new Jb\Bundle\SimplePageBundle\JbSimplePageBundle()
);
```

And import the route in app/config/routing.yml :

```
simple_page_route_imported:
    resource: "@JbSimplePageBundle/Resources/config/routing.yml"
```

*Important* : If you use the doctrine provider, the base page entity use the [doctrine extension of gedmo](https://packagist.org/packages/gedmo/doctrine-extensions). You must have the timestampable and sluggable extension enabled (to enable it easily, you can use the [wrapper created by stof](https://github.com/stof/StofDoctrineExtensionsBundle)).

The bundle provides 2 page providers. The first one use Doctrine and store the page in the database. With this one, you can have an administration interface. The second one use the translator service to load page content but cannot be use with the admin interface.

With the default configuration, the doctrine provider is used with the default entity Jb\\Bundle\\SimplePageBundle\\Entity\\Page.

You can access the admin interface via the route /admin/page and the front page via the route /page/{slug}.

Doctrine provider reference
---------------------------

[](#doctrine-provider-reference)

```
jb_simple_page:
    entity: Jb\Bundle\SimplePageBundle\Entity\Page
    provider: doctrine
    form: jb_simple_page_default_form
    router:
        root_prefix: page
        admin_prefix: admin
    front:
        view_template: "JbSimplePageBundle:Front:view.html.twig"
        layout_template: "::base.html.twig"
    admin:
        index_template: "JbSimplePageBundle:Admin:index.html.twig"
        edit_template: "JbSimplePageBundle:Admin:edit.html.twig"
        layout_template: "::base.html.twig"
```

- jb\_simple\_page.entity : the entity loaded
- form : the name of the form (defined as a service) to used in admin interface
- router.root\_prefix : the route prefix used in the front and between the admin prefix and the slug in the admin
- router.admin\_prefix : the route prefix used in the admin interface (placed before the root prefix)
- front.view\_template : template to render page in front
- front.layout\_template : layout template to extend in front
- admin.index\_template : list page template in admin interface
- admin.edit\_template : edit/create page template in admin interface
- admin.layout\_template : layout template to extend in admin interface

Translator provider reference
-----------------------------

[](#translator-provider-reference)

```
jb_simple_page:
    provider: translator
    router:
        root_prefix: page
    front:
        view_template: "JbSimplePageBundle:Front:view.html.twig"
        layout_template: "::base.html.twig"
    translator:
        translation_domain: jb_simple_page
        pages:
            - slug-value
            ...
```

- router.root\_prefix : the route prefix used in the front and between the admin prefix and the slug in the admin
- front.view\_template : template to render page in front
- front.layout\_template : layout template to extend in front
- translator.translation\_domain : the translation domain to load page content
- translator.pages : list of the page availables.

In your translation file (translation\_domain.locale.yml for example), for each page defined in translator.pages, you can defined :

```
slug-value:
    title: The title
    content: The content (html tags are not stripped or escaped)
    meta_title: the meta title
    meta_description: the meta description
```

You can override the TranslatorPageBuilder service if you want to add some fields.

Override
--------

[](#override)

All services are defined with parameters for their class configuration. You can override them in your bundles. Moreover, some semantic configuration parameters allow you to change the templates. If it is not enough, you can use Symfony bundle inheritance to override some parts of the bundle

License
-------

[](#license)

[MIT](LICENSE)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4293d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/18963e247548b59e56dae09599281b9c34e70113fc384a42925411d9b9307fd5?d=identicon)[jbouzekri](/maintainers/jbouzekri)

---

Top Contributors

[![jbouzekri](https://avatars.githubusercontent.com/u/880996?v=4)](https://github.com/jbouzekri "jbouzekri (16 commits)")

---

Tags

symfonybundletwigcms

### Embed Badge

![Health badge](/badges/jbouzekri-simple-page-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/jbouzekri-simple-page-bundle/health.svg)](https://phpackages.com/packages/jbouzekri-simple-page-bundle)
```

###  Alternatives

[yellowskies/qr-code-bundle

Symfony Barcode &amp; QR Code Generator Bundle with Twig extension

36682.9k](/packages/yellowskies-qr-code-bundle)[nucleos/antispam-bundle

This bundle provides some basic features to reduce spam in symfony forms.

52105.1k](/packages/nucleos-antispam-bundle)[cg/kint-bundle

This bundle lets you use the Kint function in your Twig templates. Kint is a print\_r() replacement which produces a structured, collapsible and escaped output

22125.8k1](/packages/cg-kint-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
