PHPackages                             werkraummedia/form-file-collection - 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. werkraummedia/form-file-collection

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

werkraummedia/form-file-collection
==================================

Add a form element to render file collection to EXT:form of TYPO3

v1.0.0(2y ago)06GPL-2.0-or-laterPHPPHP ~8.0.0 || ~8.1.0 || ~8.2.0

Since Jul 24Pushed 2y ago2 watchersCompare

[ Source](https://github.com/werkraum-media/form_file_collection)[ Packagist](https://packagist.org/packages/werkraummedia/form-file-collection)[ Docs](https://github.com/werkraum-media/form_file_collection)[ RSS](/packages/werkraummedia-form-file-collection/feed)WikiDiscussions main Synced 1mo ago

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

TYPO3 Extension Form File Collection
====================================

[](#typo3-extension-form-file-collection)

Adds new EXT:form element used to render a file collection allowing the visitor to choose files.

Concept
-------

[](#concept)

The form element will fetch the configured file collection and assign proper options based on the contained files. That allows using existing templates that allow to select a single or multiple options.

EXT:form integration
--------------------

[](#extform-integration)

The provided Configuration needs to be loaded via TypoScript. Use a free identifier:

```
plugin.tx_form.settings.yamlConfigurations {
    80 = EXT:form_file_collection/Configuration/Form/Setup.yaml
}
```

No template is configured by default, choose one of the existing ones or provide your own:

```
TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formElementsDefinition:
            FileCollection:
              renderingOptions:
                # Allows to switch between different rendering like "Checkbox", "MultiCheckbox" or "RadioButton", etc.
                templateName: 'MultiCheckbox'
```

The existing templates will work out of the box. An additional variable files is added for usage within custom templates.

This will register a new form element type `FileCollection` that can be used like this:

```
-
  type: FileCollection
  identifier: file-collection-1
  label: 'File Collection'
  properties:
    fileCollection:
      # UID of the sys_file_collection to use
      uid: 1
      # Optional, default is identifier
      # Defines the property to use as value for form element.
      valueProperty: 'identifier'
      # Optional, default is identifier
      # Defines the property to use as label for form element.
      labelProperty: 'identifier'
```

The two options valueProperty and labelProperty are used to prepare the options variable used by the available default templates.

### Example

[](#example)

A concrete example can be found within `Tests/Fixtures/form_file_collection_example`.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

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

1029d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/050bb447626bd34a00e655752d99ccff1140ae7ec7d129316819662829e041a3?d=identicon)[codappix](/maintainers/codappix)

![](https://www.gravatar.com/avatar/3eb711cfd957f8babc1cbfbc3bef3dfc04c01e77127dc84a7c3ddb5ee8c65ca9?d=identicon)[dkor](/maintainers/dkor)

---

Top Contributors

[![DanielSiepmann](https://avatars.githubusercontent.com/u/354250?v=4)](https://github.com/DanielSiepmann "DanielSiepmann (2 commits)")[![koritnik](https://avatars.githubusercontent.com/u/1124867?v=4)](https://github.com/koritnik "koritnik (1 commits)")

---

Tags

typo3-cms-extensiontypo3-extensiontypo3-form

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/werkraummedia-form-file-collection/health.svg)

```
[![Health](https://phpackages.com/badges/werkraummedia-form-file-collection/health.svg)](https://phpackages.com/packages/werkraummedia-form-file-collection)
```

###  Alternatives

[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

39488.5k](/packages/wazum-sluggi)[typo3-themes/themes

TYPO3 THEMES

3642.6k2](/packages/typo3-themes-themes)

PHPackages © 2026

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