PHPackages                             heimrichhannot/contao-submissions - 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-submissions

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

heimrichhannot/contao-submissions
=================================

A generic module to store and handle submissions in contao.

1.24.2(4mo ago)19.8k↑11.1%13LGPL-3.0-or-laterPHPPHP ^7.1 || ^8.0CI passing

Since May 26Pushed 4mo ago3 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-submissions)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-submissions)[ Docs](https://github.com/heimrichhannot/contao-submissions)[ RSS](/packages/heimrichhannot-contao-submissions/feed)WikiDiscussions v2 Synced 3w ago

READMEChangelog (10)Dependencies (6)Versions (131)Used By (3)

Submissions
===========

[](#submissions)

A generic module to store form submissions in Contao. In contract to Leads the storage is dca based.

Features
--------

[](#features)

- Directly store form generator submissions (with included form type)
- Submissions organized in archives using a dedicated DCA including permissions handling
- Highly customizable: define new fields on the data container.
- Auto-creates palettes for your fields.
- Bundles double opt-in process.
- Export your submissions as (excel compatible) CSV
- Notification Center 2.0 support ([terminal42/contao-notification\_center](https://github.com/terminal42/contao-notification_center))
- Integrated support for following extensions:
    - [Contao Fieldset Duplication](https://packagist.org/packages/inspiredminds/contao-fieldset-duplication) - store data as blob for group widget, multi column editor or multi column wizard fields.

Install
-------

[](#install)

1. Install with composer or contao manager

```
composer require heimrichhannot/contao-submissions
```

2. Update database

Usage
-----

[](#usage)

In the backend, you will find a new menu item called “Submissions”. Create a new archive with a title and select the fields that should be contained in your submissions.

### Form generator

[](#form-generator)

You can save your form generator submissions directly as a submission. Simply activate "Save as submission" and select the submission archive. The names of the form fields must be the same as the field names of the saved entity.

Use `##form_attachment_*##` tokens in your notification center notifications to include attachments in your emails.

### Opt in process

[](#opt-in-process)

Use the built-in double opt-in process to verify submissions. Create an opt-in challenge notification in notification center and select it on your form in the form generator. You can also define a jump to page to which the user is redirected when the opt-in is successful. If you want to bump a property at successful opt-in, set a boolean confirmation field (i.e. to set the field `publish` to true).

Use the following notification tokens in the opt-in notification:

TokenDescription`##optin_token##`To be replaced with the opt-in token`##optin_url##`To be replaced with the absolute opt-in url`##email##`Same as `##form_email##`, but guaranteed to be in a valid email address format. Intended use as recipient email address.### Export

[](#export)

Active "Allow export" in the submission archive settings to enable CSV export of submissions. Afterwards you will find an "Export" button in the submission list view.

[![export_operation.png](docs/img/export_operation.png)](docs/img/export_operation.png)

Development
-----------

[](#development)

### Fields on tl\_submission

[](#fields-on-tl_submission)

Take a look at [`dca/tl_submission.php`](https://github.com/heimrichhannot/contao-submissions/blob/master/dca/tl_submission.php#L94) for all available fields.

Adjust the dca to your needs.

Mark fields as `noSubmissionField` to make them unavailable for use as submission fields.

```
$dca = &$GLOBALS['TL_DCA']['tl_submission'];

$dca['fields']['my_field']['eval']['noSubmissionField'] = true;
```

### Events

[](#events)

EventDescriptionSubmissionsBeforeSendConfirmationNotificationEventDispatched before success notification is sent. Requires enabled double opt-in.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance74

Regular maintenance activity

Popularity26

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity86

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 60% 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 ~27 days

Total

131

Last Release

148d ago

Major Versions

1.24.1 → v2.0.0-beta.12024-11-28

PHP version history (6 changes)1.2.0PHP &gt;=5.4

1.2.1PHP ~5.6 || ^7.0

1.3.2PHP ~5.4 || ~7.0

1.17.0PHP ~5.4 || ~7.0 || ^8.0

1.18.0PHP ^7.1 || ^8.0

v2.0.0-beta.1PHP ^8.2

### 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 (48 commits)")[![ericges](https://avatars.githubusercontent.com/u/25957923?v=4)](https://github.com/ericges "ericges (21 commits)")[![Defcon0](https://avatars.githubusercontent.com/u/1485098?v=4)](https://github.com/Defcon0 "Defcon0 (5 commits)")[![nafetagrats](https://avatars.githubusercontent.com/u/5796948?v=4)](https://github.com/nafetagrats "nafetagrats (4 commits)")[![MicioMax](https://avatars.githubusercontent.com/u/1090851?v=4)](https://github.com/MicioMax "MicioMax (1 commits)")[![vvohh](https://avatars.githubusercontent.com/u/75325799?v=4)](https://github.com/vvohh "vvohh (1 commits)")

---

Tags

modulecontaoformdevelopersubmissions

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-submissions/health.svg)

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

###  Alternatives

[markocupic/calendar-event-booking-bundle

Contao Calendar Event Booking Bundle

125.1k1](/packages/markocupic-calendar-event-booking-bundle)

PHPackages © 2026

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