PHPackages                             arkounay/block-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. arkounay/block-bundle

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

arkounay/block-bundle
=====================

WYSIWIG HTML editable blocks and entities bundle

1.2.7(9y ago)5274PHPPHP &gt;=5.3.3

Since Nov 20Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Arkounay/BlockBundle)[ Packagist](https://packagist.org/packages/arkounay/block-bundle)[ Docs](https://github.com/Arkounay/BlockBundle)[ RSS](/packages/arkounay-block-bundle/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (1)Versions (11)Used By (0)

Arkounay BlockBundle - Symfony 3 wysiwyg inline edition
=======================================================

[](#arkounay-blockbundle---symfony-3-wysiwyg-inline-edition)

This lightweight and opinionated bundle allows to quickly render HTML blocks editable with a WYSIWYG editor ([TinyMCE](https://www.tinymce.com/)), either via the provided PageBlock entity, or directly already existing entities through custom twig functions.

[![alt tag](https://camo.githubusercontent.com/6d249940c5df4976d7041cbf4dbd9d78e89250b6907e5f74d6c646ece943f13f/687474703a2f2f6f7574657261726b2e636f6d2f73796d666f6e792f61726b6f756e61795f626c6f636b5f62756e646c652e706e67)](https://camo.githubusercontent.com/6d249940c5df4976d7041cbf4dbd9d78e89250b6907e5f74d6c646ece943f13f/687474703a2f2f6f7574657261726b2e636f6d2f73796d666f6e792f61726b6f756e61795f626c6f636b5f62756e646c652e706e67)

Getting started
---------------

[](#getting-started)

- Download the files:

```
composer require arkounay/block-bundle
```

- In `AppKernel.php` add the bundle:

```
new Arkounay\BlockBundle\ArkounayBlockBundle()
```

- Then, run the following command:

```
php bin/console assets:install
```

- In your twig template, you will then need to import the required assets:

    - CSS: ```
        {% include '@ArkounayBlock/assets/include_css.html.twig' %}
        ```
    - JS (**requires [jQuery](https://jquery.com/) and [TinyMCE](https://www.tinymce.com/)**): ```
        {# Import jQuery and TinyMCE: #}
        {% if has_inline_edit_permissions() %}

        {% endif %}

        {# Then the default bundle's JavaScript: #}
        {% include '@ArkounayBlock/assets/include_js.html.twig' %}
        ```
- In `routing.yml`, you will need to import the Ajax route:

```
 block:
     resource: "@ArkounayBlockBundle/Resources/config/routing.yml"
```

- Then update your database schema to add the provided PageBlock entity `php bin/console doctrine:schema:update --force`

Usage
-----

[](#usage)

To add an editable block, simply add this in a twig file:

```
{{ render_block('block_id') }}
```

The first time you're going to edit it, a new PageBlock entity will be created in your database.

To edit an already existing entity text, you can add the following line:

```
{{ render_entity_field(entity, 'field') }}
```

For example, with a "News" entity, you could add this to make its content editable:

```
{{ render_entity_field(news, 'content') }}
{# instead of {{ news.content }} #}
```

Those who don't have editing permissions will see the field as if `{{ news.content }}` was directly called.

There is also another version with less editing options, usually for shorter texts:

```
{{ render_plain_entity_field(entity, 'field') }}
```

Once you click on "Save", a single Ajax request is sent to persist and flush changed entities.

#### Notes

[](#notes)

- By default, only users with the `ROLE_ADMIN` permission can edit inline text. To edit the allowed roles, you can edit your `config.yml`

```
arkounay_block:
   roles: ['IS_AUTHENTICATED_ANONYMOUSLY'] # Will allow anyone to edit inline!
```

- To edit TinyMCE, create your own `@ArkounayBlock/assets/include_js.html.twig`
- You can also edit the `.js-arkounay-block-bundle-editable` to change the borders of the editable blocks.
- In a twig file, you can use the function `has_inline_edit_permissions()` to see if a user has inline edit permissions. This can be useful if you want to import [jQuery](https://jquery.com/) or [TinyMCE](https://www.tinymce.com/) only for these users.
- By default, a div will be surrounding the editable text when connected. You can choose another tag with the third parameter, i.e for a span:

```
 {{ render_block('block_id', true, 'span') }}
```

you can also call this shortcut:

```
{{ render_span_block('block_id') }}
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 93.3% 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

Every ~6 days

Total

10

Last Release

3442d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6e42acfea7651328f0b5c55d9aa4ba51c0327ce23962a2f2bff34d423dcd77e?d=identicon)[Arkounay](/maintainers/Arkounay)

---

Top Contributors

[![Arkounay](https://avatars.githubusercontent.com/u/9340719?v=4)](https://github.com/Arkounay "Arkounay (14 commits)")[![artgris](https://avatars.githubusercontent.com/u/22889596?v=4)](https://github.com/artgris "artgris (1 commits)")

---

Tags

administrationdoctrinesymfonysymfony-bundletwigtwig-extensionwysiwygsymfonybundletinymceinlinewysiwig

### Embed Badge

![Health badge](/badges/arkounay-block-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/arkounay-block-bundle/health.svg)](https://phpackages.com/packages/arkounay-block-bundle)
```

###  Alternatives

[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1155.2k](/packages/rcsofttech-audit-trail-bundle)[web-auth/webauthn-framework

FIDO2/Webauthn library for PHP and Symfony Bundle.

51390.8k2](/packages/web-auth-webauthn-framework)[web-auth/webauthn-symfony-bundle

FIDO2/Webauthn Security Bundle For Symfony

65474.5k9](/packages/web-auth-webauthn-symfony-bundle)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

939.0k](/packages/ahmed-bhs-doctrine-doctor)

PHPackages © 2026

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