werkraummedia / form-file-collection
Add a form element to render file collection to EXT:form of TYPO3
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
Requires
- php: ~8.0.0 || ~8.1.0 || ~8.2.0
- typo3/cms-backend: ^11.5 || ^12.4
- typo3/cms-core: ^11.5 || ^12.4
- typo3/cms-fluid-styled-content: ^11.5 || ^12.4
- typo3/cms-form: ^11.5 || ^12.4
- typo3/cms-frontend: ^11.5 || ^12.4
Requires (Dev)
- codappix/typo3-php-datasets: ^1.3
- friendsofphp/php-cs-fixer: ^3.11
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- saschaegerer/phpstan-typo3: ^1.8
- typo3/testing-framework: ^7.0
README
Adds new EXT:form element used to render a file collection allowing the visitor to choose files.
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
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
A concrete example can be found within Tests/Fixtures/form_file_collection_example
.