PHPackages                             mvo/contao-nested-forms - 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. mvo/contao-nested-forms

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

mvo/contao-nested-forms
=======================

Allow nested forms/sub forms in Contao Open Source CMS

v1.0.5(7y ago)22.9k↓25%1[1 PRs](https://github.com/m-vo/contao-nested-forms/pulls)MITPHPPHP &gt;=7.1

Since Apr 2Pushed 3y ago2 watchersCompare

[ Source](https://github.com/m-vo/contao-nested-forms)[ Packagist](https://packagist.org/packages/mvo/contao-nested-forms)[ RSS](/packages/mvo-contao-nested-forms/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (3)Versions (7)Used By (0)

contao-nested-forms
===================

[](#contao-nested-forms)

This bundle adds the ability to use **sub forms** in the form generator of Contao Open Source CMS to allow reusing groups of fields. After installing and updating the database you'll find a new form field type *Sub Form*.

#### Usage

[](#usage)

Usage is straightforward:

- Create a form *A* with some fields.
- Create a form *B* and select one field to be a *Sub Form* (meta field).
- In this field select *A* as source form.

The resulting form B now contains A's fields at the position of the *Sub Form* meta field. You can select if you want to overwrite the mandatory properties of the sub fields or keep them as they are.

#### Naming

[](#naming)

The field names of a sub form get prefixed by the name of the meta field and two underscores (e.g: `MySubField__FieldA`). The easiest way to avoid collisions is by not using double underscores `__` in your field names.

#### Multiple Sub Forms

[](#multiple-sub-forms)

You can use as many nested forms as you wish. Multiple nesting levels are supported as well, just make sure you don't create self referencing loops. Note that overwriting mandatory properties does not cascade down.

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

[](#installation)

#### Step 1: Download the Bundle

[](#step-1-download-the-bundle)

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

```
$ composer require mvo/contao-nested-forms
```

#### Step 2: Enable the Bundle

[](#step-2-enable-the-bundle)

**Skip this point if you are using a *Managed Edition* of Contao.**

Enable the bundle by adding it to the list of registered bundles in the `app/AppKernel.php` file of your project:

```
