PHPackages                             heimrichhannot/contao-multi-column-editor-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. heimrichhannot/contao-multi-column-editor-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

heimrichhannot/contao-multi-column-editor-bundle
================================================

This module offers an input type for editing one or more records in frontend and backend.

2.21.2(1mo ago)658.5k↓26.8%7[3 issues](https://github.com/heimrichhannot/contao-multi-column-editor-bundle/issues)19LGPL-3.0-or-laterPHPPHP ^8.1

Since May 8Pushed 1mo ago4 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-multi-column-editor-bundle)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-multi-column-editor-bundle)[ Docs](https://github.com/heimrichhannot/contao-multi-column-editor-bundle)[ RSS](/packages/heimrichhannot-contao-multi-column-editor-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (104)Used By (19)

Multi Column Editor bundle
==========================

[](#multi-column-editor-bundle)

[![](https://camo.githubusercontent.com/1d3bb1d1da27fc10c57078d1f68ca0c626507097b957cfcddbbadeb4c6d52f4b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6865696d7269636868616e6e6f742f636f6e74616f2d6d756c74692d636f6c756d6e2d656469746f722d62756e646c652e737667)](https://packagist.org/packages/heimrichhannot/contao-multi-column-editor-bundle)[![](https://camo.githubusercontent.com/b22761138bda2cdebeab03320f0ca779569a495c729ca379defe8592fe1a5858/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6865696d7269636868616e6e6f742f636f6e74616f2d6d756c74692d636f6c756d6e2d656469746f722d62756e646c652e737667)](https://packagist.org/packages/heimrichhannot/contao-multi-column-editor-bundle)[![](https://camo.githubusercontent.com/0c5746867d9a21060caa450017707b4e7a68c7101a1ed80fb8250ea0bb3cc210/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6865696d7269636868616e6e6f742f636f6e74616f2d6d756c74692d636f6c756d6e2d656469746f722d62756e646c652f6d61737465722e737667)](https://travis-ci.org/heimrichhannot/contao-multi-column-editor-bundle/)[![](https://camo.githubusercontent.com/04f03820d14c564c04bdeaf66a3464de596f676ea27d5dd1f453c6114d3af2c7/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c732f6865696d7269636868616e6e6f742f636f6e74616f2d6d756c74692d636f6c756d6e2d656469746f722d62756e646c652f6d61737465722e737667)](https://coveralls.io/github/heimrichhannot/contao-multi-column-editor-bundle)

This module offers an input type for editing one or more records in backend and frontend.

[![alt text](doc/presentation.gif "Demo in the backend")](doc/presentation.gif)

Features
--------

[](#features)

- input type to edit one or multiple records
- support for backend and frontend
- [Encore bundle](https://github.com/heimrichhannot/contao-encore-bundle) support

Install
-------

[](#install)

Install with composer:

```
composer require heimrichhannot/contao-multi-column-editor-bundle

```

Technical instructions
----------------------

[](#technical-instructions)

Use the inputType "multiColumnEditor" for your field.

Minimal example:

```
$GLOBALS['TL_DCA']['tl_my_table']['fields']['mce_field'] = [
    'inputType' => 'multiColumnEditor',
    'eval'      => [
        'multiColumnEditor' => [
            'fields' => [
                'field1' => [
                    'label' => &$GLOBALS['TL_LANG']['tl_my_table']['field1'],
                    'inputType' => 'text',
                    'eval' => ['groupStyle' => 'width:150px']
                ],
                'field2' => [
                    'label' => &$GLOBALS['TL_LANG']['tl_my_table']['field2'],
                    'inputType'               => 'select',
                    'options'                 => ['option1', 'option2'],
                    'eval' => ['groupStyle' => 'width:150px']
                ],
            ]
        ]
    ],
    'sql'       => "blob NULL"
];
```

### All available options

[](#all-available-options)

```
'someField' => [
    'label'     => &$GLOBALS['TL_LANG']['tl_my_table']['someField'],
    'inputType' => 'multiColumnEditor',
    'exclude'   => true,
    // add 'compact' to tl_class if you want to display a reduced version of MCE
    'tl_class'  => 'compact',
    'eval'      => [
        'multiColumnEditor' => [
            // set to true if the rows should be sortable (backend only atm)
            'sortable' => true,
            'class' => 'some-class',
            // set to 0 if it should also be possible to have *no* row (default: 1)
            'minRowCount' => 2,
            // set to 0 if an infinite number of rows should be possible (default: 0)
            'maxRowCount' => 5,
            // defaults to false
            'skipCopyValuesOnAdd' => false,
            'editorTemplate' => 'multi_column_editor_backend_default',
            // Optional: add palette and subpalette if you need supalettes support (otherwise all fields will be shows)
            // Legends are supported since verison 2.8
            'palettes'    => [
                '__selector__' => ['field1'],
                'default'      => 'field1',
            ],
            'subpalettes' => [
                'field1'  => 'field2', // key selector
                'field1_10' => 'field3' // key_value selector
            ],
            // place your fields here as you would normally in your DCA
            // (sql is not required)
            'fields' => [

                'field1' => [
                    'label' => ['field 1', 'The description of field 1'],
                    'inputType' => 'text',
                    'eval' => ['groupStyle' => 'width:150px', 'submitOnChange' => true]
                ],
                'field2' => [
                    'label' => ['field 2', 'The description of field 2'],
                    'inputType' => 'text',
                    'eval' => ['groupStyle' => 'width:150px']
                ],
                'field3' => [
                    'label' => ['field 3', 'The description of field 3'],
                    'inputType' => 'text',
                    'eval' => ['groupStyle' => 'width:150px']
                ]
            ]
        ]
    ],
    'sql'       => "blob NULL"
],
```

OptionValuesDescriptiontl\_classcompactDisplay a reduced version of MCE.### Add support for special fields (like fileTrees) in Rocksolid Custom Content Elements (RSCE)

[](#add-support-for-special-fields-like-filetrees-in-rocksolid-custom-content-elements-rsce)

Simply add the following to your project's `config.php`:

```
$GLOBALS['MULTI_COLUMN_EDITOR']['rsce_fields'] = array_merge(
    is_array($GLOBALS['MULTI_COLUMN_EDITOR']['rsce_fields']) ? $GLOBALS['MULTI_COLUMN_EDITOR']['rsce_fields'] : [], [
        'tl_content' => ['linkImage']
    ]
);

```

where this would be your RSCE config:

```
$element = [
     // ...
    'fields'          => [
        'links'              => [
            'label'     => &$GLOBALS['TL_LANG']['tl_content']['links'],
            'inputType' => 'multiColumnEditor',
            'eval'      => [
                'tl_class'          => 'long clr',
                'multiColumnEditor' => [
                    'minRowCount' => 0,
                    'fields'      => [
                        'linkImage'     => [
                            // ...
                            'inputType'               => 'fileTree',
                        ],
    // ...

```

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance79

Regular maintenance activity

Popularity37

Limited adoption so far

Community31

Small or concentrated contributor base

Maturity88

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 77.9% 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 ~28 days

Recently: every ~80 days

Total

102

Last Release

57d ago

Major Versions

1.2.3 → 2.0.02019-03-19

PHP version history (4 changes)1.0.0PHP ^7.1

2.13.0PHP ^7.1|^8.0

2.14.0PHP ^7.4 || ^8.0

2.21.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/28ad3224d8727b622ebd229840eea6b9dbcb83eb0bd609e6ce65b614830ff538?d=identicon)[digitales@heimrich-hannot.de](/maintainers/digitales@heimrich-hannot.de)

---

Top Contributors

[![koertho](https://avatars.githubusercontent.com/u/12064642?v=4)](https://github.com/koertho "koertho (67 commits)")[![Defcon0](https://avatars.githubusercontent.com/u/1485098?v=4)](https://github.com/Defcon0 "Defcon0 (6 commits)")[![rabauss](https://avatars.githubusercontent.com/u/14016098?v=4)](https://github.com/rabauss "rabauss (2 commits)")[![ReneLuecking](https://avatars.githubusercontent.com/u/21099788?v=4)](https://github.com/ReneLuecking "ReneLuecking (2 commits)")[![vvohh](https://avatars.githubusercontent.com/u/75325799?v=4)](https://github.com/vvohh "vvohh (2 commits)")[![pressi](https://avatars.githubusercontent.com/u/1610762?v=4)](https://github.com/pressi "pressi (2 commits)")[![zonky2](https://avatars.githubusercontent.com/u/1045318?v=4)](https://github.com/zonky2 "zonky2 (1 commits)")[![fatcrobat](https://avatars.githubusercontent.com/u/480054?v=4)](https://github.com/fatcrobat "fatcrobat (1 commits)")[![fritzmg](https://avatars.githubusercontent.com/u/4970961?v=4)](https://github.com/fritzmg "fritzmg (1 commits)")[![straightsoft](https://avatars.githubusercontent.com/u/9200678?v=4)](https://github.com/straightsoft "straightsoft (1 commits)")[![bildschirmartist](https://avatars.githubusercontent.com/u/2776658?v=4)](https://github.com/bildschirmartist "bildschirmartist (1 commits)")

---

Tags

contaoeditormultiwizardcolumnedit

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-multi-column-editor-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/heimrichhannot-contao-multi-column-editor-bundle/health.svg)](https://phpackages.com/packages/heimrichhannot-contao-multi-column-editor-bundle)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3183.3k6](/packages/codefog-contao-news-categories)[mvo/contao-group-widget

Adds a new group widget that allows repeating a set of DCA fields.

28124.3k31](/packages/mvo-contao-group-widget)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3172.5k4](/packages/terminal42-contao-node)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18147.9k9](/packages/terminal42-contao-folderpage)

PHPackages © 2026

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