Go to file
Daniel Siepmann 5bb586a19a
Add files to template (#2)
Allow to implement custom templates working with files, e.g. providing a
thumbnail, link to full file, etc.
2023-07-24 14:13:08 +02:00
.github/workflows Add files to template (#2) 2023-07-24 14:13:08 +02:00
Classes/Form/FormElement Add files to template (#2) 2023-07-24 14:13:08 +02:00
Configuration/Form Initialize project (#1) 2023-07-03 10:08:33 +02:00
Resources/Public/Icons Add files to template (#2) 2023-07-24 14:13:08 +02:00
Tests Add files to template (#2) 2023-07-24 14:13:08 +02:00
.gitattributes Initialize project (#1) 2023-07-03 10:08:33 +02:00
.gitignore Initialize project (#1) 2023-07-03 10:08:33 +02:00
.php-cs-fixer.dist.php Initialize project (#1) 2023-07-03 10:08:33 +02:00
composer.json Initialize project (#1) 2023-07-03 10:08:33 +02:00
LICENSE Initial commit 2023-06-06 11:30:13 +02:00
phpstan.neon Initialize project (#1) 2023-07-03 10:08:33 +02:00
phpunit.xml.dist Initialize project (#1) 2023-07-03 10:08:33 +02:00
README.rst Add files to template (#2) 2023-07-24 14:13:08 +02:00
shell.nix Initialize project (#1) 2023-07-03 10:08:33 +02:00

TYPO3 Extension Form File Collection

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.