PHPackages                             elao/cms-slot-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. elao/cms-slot-bundle

AbandonedArchivedSymfony-bundle

elao/cms-slot-bundle
====================

This bundle handles the integration of File Manager and Image Manager plugins inside TinyMCE

37205JavaScript

Since Jan 6Pushed 12y ago6 watchersCompare

[ Source](https://github.com/Elao/CmsSlotBundle)[ Packagist](https://packagist.org/packages/elao/cms-slot-bundle)[ RSS](/packages/elao-cms-slot-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

ElaoCmsSlotBundle
=================

[](#elaocmsslotbundle)

ElaoCmsSlotBundle implements a low-level cms slot management. It allows you to integrate editable slots in your application.

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

[](#installation)

**Step 1: Download.**

[Download](http://github.com/Elao/CmsSlotBundle) the bundle and put it under the `Elao\CmsSlotBundle\` namespace.

Via composer:

```
// composer.json
{
    // ...
    "require": {
        // ...
        "elao/cms-slot-bundle": "dev-master"
    }
}
```

Update your composer.phar:

```
$ php composer.phar update
```

**Step 2: Register bundles with AppKernel.php.**

Include it in your Kernel class:

```
// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        new Elao\CmsSlotBundle\ElaoCmsSlotBundle(),
        ...
    );
}
```

Configuration
-------------

[](#configuration)

All features provided by the bundle are enabled by default when the bundle is registered in your Kernel class.

The default configuration is as follow:

```
.. configuration-block::

    .. code-block:: yaml

        elao_cms_slot:
            db_driver:          orm             # or odm (not implemented yet)
            slot_provider:      serviceid       # Set a slot provider service
                                                # (or use the orm or odm default one if not set)
            i18n:               true            # enable or not culture dependent slots (translator service required)
            permission:         SLOT_EDITOR     # permissions needded to edit slot (security context service required)
            types:
              jeditable:                        # Configure jeditable slot types
                tinymce:                        # Configure Tinymce
                  enable:       true            # Enable tinymce
                  path:         /js/tinymce     # Set the tinymce path

```

db\_driver: This option is just use to know wich default slot\_provider to use if the slot\_provider is not set. slot\_provider: This options allows you to specify a slot provider service i18n: false by default. If this option is set. All slot name will be suffixed by the current locale. permission: Required permission to edit slots

Cms Slot Provider Service
-------------------------

[](#cms-slot-provider-service)

Cms Slot Provider service must implement the CmsSlotProviderInterface. Given a slot code, it must return a CmsSlot object. The bundle comes with a default Cms Slot Provider (CmsSlotRepository).

Cms Slot Manager Service
------------------------

[](#cms-slot-manager-service)

Cms Slot Manager service is the central point of the bundle. His role is to: - Register Cms Slot Types - Interface with the Cms Slot Provider Service

Cms Slot Object
---------------

[](#cms-slot-object)

Cms Slot Objects are just objects to store slot's content.

Cms Slot Types
--------------

[](#cms-slot-types)

Cms Slot Types describe the way to display a slot content, and the way to edit a slot content. They must implements the CmsSlotTypeInterface. Cms Slot Types have two associated templates: One for displaying slot data (display mode), and one for editing the slot data (edit mode).

Cms Slot Types are tagged services (the tag is "elao.cms\_slot.type" and accept to attributes: template\_display and template\_edit).

```
.. configuration-block::

    .. code-block:: xml

```

The bundle comes by default with one Slot Type : jeditable

Cms Slot Twig Extension
-----------------------

[](#cms-slot-twig-extension)

The Twig extension allows you to integrate the slots in your apps by adding the twig function cms\_slot(). The cms\_slot() function takes 3 parameters: the slot type, the slot name and the slot parameters.

Examples
--------

[](#examples)

// Simple input text {{ cms\_slot('jeditable', 'ABOUTUS\_TEXT', {'type': 'text', 'width': '100%', 'height': '300'}) }}

// Simple textarea {{ cms\_slot('jeditable', 'ABOUTUS\_TEXT', {'type': 'textarea', 'width': '100%', 'height': '300'}) }}

// Will use tinymce {{ cms\_slot('jeditable', 'ABOUTUS\_TEXT', {'type': 'textarea', 'rich': true, 'width': '100%', 'height': '300'}) }}

TODO
----

[](#todo)

- Create odm classes
- Create php templating helpers

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/156850a5601e6fe41cbc75ff2c4a4a78caf0502df9db8ec1165ec4370b7de616?d=identicon)[Elao](/maintainers/Elao)

---

Top Contributors

[![benji07](https://avatars.githubusercontent.com/u/166890?v=4)](https://github.com/benji07 "benji07 (13 commits)")[![tristanbes](https://avatars.githubusercontent.com/u/346010?v=4)](https://github.com/tristanbes "tristanbes (2 commits)")[![brunonic](https://avatars.githubusercontent.com/u/1011840?v=4)](https://github.com/brunonic "brunonic (1 commits)")

### Embed Badge

![Health badge](/badges/elao-cms-slot-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/elao-cms-slot-bundle/health.svg)](https://phpackages.com/packages/elao-cms-slot-bundle)
```

PHPackages © 2026

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