heimrichhannot/contao-submissions

A generic module to store and handle submissions in contao.

Installs: 9 076

Dependents: 3

Suggesters: 0

Security: 0

Stars: 1

Watchers: 3

Forks: 1

Open Issues: 0

Type:contao-bundle

pkg:composer/heimrichhannot/contao-submissions


README

A generic module to store and handle submissions in Contao. You can use it with all of your modules to simplify submission handling.

Features

  • Directly store form generator submissions.
  • Submissions organized in archives using a dedicated DCA.
  • Highly customizable: define new fields on the data container.
  • Auto-creates palettes for your fields.
  • Feature set includes opt-in process, permissions handling and (csv) export.
  • Notification Center 2.0 support (terminal42/contao-notification_center)

Install

  1. Install with composer or contao manager
composer require heimrichhannot/contao-submissions
  1. Update database

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

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

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:

Token Description
##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

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

Development

Fields on tl_submission

Take a look at dca/tl_submission.php 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

Event Description
SubmissionsBeforeSendConfirmationNotificationEvent Dispatched before success notification is sent. Requires enabled double opt-in.