PHPackages                             zoglo/contao-row-wizard - 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. zoglo/contao-row-wizard

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

zoglo/contao-row-wizard
=======================

RowWizard for Contao Open Source CMS

0.1.0(6mo ago)034MITPHPPHP ^8.1

Since Dec 22Pushed 5mo agoCompare

[ Source](https://github.com/zoglo/contao-row-wizard)[ Packagist](https://packagist.org/packages/zoglo/contao-row-wizard)[ RSS](/packages/zoglo-contao-row-wizard/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (8)Versions (2)Used By (0)

Warning

The Row-Wizard is now part of Contao 5.7 and does not need to be installed

Contao Row Wizard
=================

[](#contao-row-wizard)

 [![github version](https://camo.githubusercontent.com/8715a353698bcecce163dc1af0a227c7e45dd9d593091450016b2d17186b397c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f7a6f676c6f2f636f6e74616f2d726f772d77697a617264)](https://github.com/zoglo/contao-row-wizard) [![amount of downloads](https://camo.githubusercontent.com/d692018795d61f097e44beae87b89c19334caee02b98c5971ec97f4e6b994503/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7a6f676c6f2f636f6e74616f2d726f772d77697a6172643f636f6c6f723d663437633030)](https://packagist.org/packages/zoglo/contao-row-wizard) [![minimum php version](https://camo.githubusercontent.com/f892a264550ac25827ab4bde0443b0b6bc0116dfab8df8991b3fd1099e44b6ad/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f7a6f676c6f2f636f6e74616f2d726f772d77697a6172642f7068703f636f6c6f723d343734413841)](https://packagist.org/packages/zoglo/contao-row-wizard)

Description
-----------

[](#description)

See [contao/contao#8781](https://github.com/contao/contao/pull/8781) for the Contao feature (This bundle acts as a backport now).

This bundle adds a widget that allows adding multiple rows, with each row containing multiple widgets arranged as columns. The data can be stored as a serialized array in the database.

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

[](#installation)

### Via composer

[](#via-composer)

```
composer require zoglo/contao-row-wizard

```

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

[](#configuration)

```
use Contao\CoreBundle\DataContainer\PaletteManipulator;
use Doctrine\DBAL\Platforms\AbstractMySQLPlatform;
use Zoglo\RowWizardBundle\EventListener\ColumnWizardListener;

$GLOBALS['TL_DCA']['tl_content']['fields']['columnWizardOne'] = [
    'label' => ['columnWizardOne', 'And some random description'], // Or a &$GLOBALS['TL_LANG'] pointer
    'inputType' => 'rowWizard',
    'fields' => [
        'type' => [
            'label' => ['Type'], // Or a &$GLOBALS['TL_LANG'] pointer
            'inputType' => 'select',
            'options' => ['foo', 'bar', 'baz', 'quux'],
            'eval' => [
                'includeBlankOption' => true,
                'chosen' => true,
            ],
        ],
        'checkbox' => [
            'label' => ['Checkbox'], // Or a &$GLOBALS['TL_LANG'] pointer
            'inputType' => 'checkbox',
        ],
        'textarea' => [
            'label' => ['Textarea'], // Or a &$GLOBALS['TL_LANG'] pointer
            'inputType' => 'textarea',
        ],
        'text' => [
            'label' => ['Text'], // Or a &$GLOBALS['TL_LANG'] pointer
            'inputType' => 'text',
        ],
    ],
    'eval' => [
        'tl_class' => 'clr',
        'actions' => [ // actions to be shown. Default: 'copy', 'delete' // 'edit' does not work yet
            'copy',
            'delete',
            //'enable', // Enable / Disable
        ],
        //'sortable' => false, // disables sorting the rows
        'min' => 2, // minimum amount of rows
        'max' => 5, // maximum amount of rows
    ],
    'sql' => [
        'type' => 'blob',
        'length' => AbstractMySQLPlatform::LENGTH_LIMIT_BLOB,
        'notnull' => false,
    ],
];
```

**Output**

[![Rendered example of the row wizard based on the configuration](/docs/images/rowWizard.jpg)](/docs/images/rowWizard.jpg)

Examples
--------

[](#examples)

In some cases, you may not want to save any value if there is only one row and the first value is empty. You can implement your own callback function for the save callback like this:

```
#[AsCallback(table: 'tl_content', target: 'fields.columnWizardOne.save')]
class ContentTextSaveCallback
{
    public function __invoke($value, DataContainer $dc)
    {
        if ('' === $value) {
            return $value;
        }

        if (0 === \count($values = StringUtil::deserialize($value, true))) {
            return '';
        }

        // Do not reset if there is more than one row
        if (1 !== \count($values)) {
            return $value;
        }

        if (($values[0][array_key_first($values[0])] ?? '') === '') {
            return '';
        }

        return $value;
    }
}
```

Known limitation
----------------

[](#known-limitation)

The following fields do not work:

- any eval `rte` (tinymce, ace)
- color picker
- filetree

If you need those working or any other special features, consider using a more advanced wizard such as [contao-multicolumnwizard-bundle](https://github.com/menatwork/contao-multicolumnwizard-bundle) instead.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance70

Regular maintenance activity

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

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

194d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1073273?v=4)[Andreas Schempp](/maintainers/aschempp)[@aschempp](https://github.com/aschempp)

![](https://www.gravatar.com/avatar/22a9adccb8f27d628c43ec6ecc701cbfe5813d02b0439722a952067f6868c521?d=identicon)[zoglo](/maintainers/zoglo)

---

Top Contributors

[![zoglo](https://avatars.githubusercontent.com/u/55794780?v=4)](https://github.com/zoglo "zoglo (44 commits)")[![aschempp](https://avatars.githubusercontent.com/u/1073273?v=4)](https://github.com/aschempp "aschempp (8 commits)")

---

Tags

contaowidgetwizard

### Embed Badge

![Health badge](/badges/zoglo-contao-row-wizard/health.svg)

```
[![Health](https://phpackages.com/badges/zoglo-contao-row-wizard/health.svg)](https://phpackages.com/packages/zoglo-contao-row-wizard)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3189.0k6](/packages/codefog-contao-news-categories)[shopware/storefront

Storefront for Shopware

684.6M236](/packages/shopware-storefront)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M576](/packages/shopware-core)[terminal42/notification_center

Notification Center extension for Contao Open Source CMS

80413.7k101](/packages/terminal42-notification-center)

PHPackages © 2026

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