Skip to content
Β 
Β 

Latest commit

Β 

History

137 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Extension icon

TYPO3 extension repeatable_form_elements

Latest Stable Version Supported TYPO3 versions Supported PHP Versions Stability CGL Tests License

Note

This is a fork of tritum/repeatable_form_elements, the original extension by Ralf Zimmermann / dreistrom.land. This fork adds TYPO3 v14 compatibility, PSR-14 event migration, CI/CD infrastructure and a DDEV-based multi-version test environment.

A TYPO3 extension that adds a Repeatable container element to the TYPO3 form framework. It allows editors to create container elements with any type of fields. In the frontend, users can dynamically add and remove copies of the container. Validation is copied automatically and all form finishers are aware of the duplicated fields.

✨ Features

  • Repeatable container: a form element editors add to the form editor like any other, holding any combination of field types
  • Dynamic frontend duplication: frontend users add and remove copies of the container via JavaScript, no page reload
  • Validation-aware: validators on the original fields are copied automatically to every duplicated field
  • Finisher-aware: all form finishers, including an extended SaveToDatabaseFinisher, understand and persist the duplicated fields
  • Extensible: PSR-14 events let you modify or disable copied variants and react after a container is built
  • TYPO3 v13 and v14 compatible: SC_OPTIONS hooks on v13, PSR-14 event listeners on v14

πŸ”₯ Installation

Requirements

  • TYPO3 13.4 LTS or 14.3 LTS
  • PHP 8.2 – 8.5

Composer

composer require move-elevator/typo3-repeatable-form-elements

Add the site set tritum/repeatable-form-elements to the dependencies of your site package's site set:

# Configuration/Sets/YourSitePackage/config.yaml
dependencies:
  - tritum/repeatable-form-elements

πŸš€ Quick start

  1. Open the TYPO3 form editor and create or open a form.
  2. Add a new element β€” the modal lists the Repeatable container.
  3. Add fields with validators to the container.
  4. In the frontend, the container renders as a <fieldset> with copy and remove buttons.

⚑ Usage

Extended SaveToDatabaseFinisher

An extended version of the SaveToDatabaseFinisher is included for persisting repeatable container data. See the example form definition.

βš™οΈ Configuration

To deactivate the copying of variants, disable the feature flag:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['features']['repeatableFormElements.copyVariants'] = false;

🧩 Extending

Event Description
CopyVariantEvent Modify or disable specific copied variants during container duplication.
AfterBuildingFinishedEvent React after a form renderable has been built/copied by the repeatable container logic. Replaces the removed afterBuildingFinished SC_OPTIONS hook.

πŸ§‘β€πŸ’» Contributing

Please have a look at CONTRIBUTING.md.

πŸ’Ž Credits

Originally created by Ralf Zimmermann / dreistrom.land. See the original repository for the full list of contributors.

This fork is maintained by move:elevator.

⭐ License

GPL-2.0-or-later β€” see LICENSE for details.

About

πŸ” TYPO3 Extension with a custom repeatable form element

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages