Skip to content
Snippets Groups Projects

pipeline status

Folder based download center'

This extension provides a plugin to display a download center, based on a given folder hierarchy.

Dependencies

TYPO3 (typo3/cms-core)

  • 8.7.0 - 8.7.99

Packages

  • riconet/t3-extension-dal ^2.3
  • helhum/typoscript-rendering ^2.1

Installation

  • Activate the extension via the Extensions module.
  • Include the static typo script file.
  • Make sure you have indexed the folders you are going to use for the download center.

Installation using composer

Simply run composer require riconet/t3-extension-folder-based-download-center

For Integrators / Editors

Plugin - Downloadcenter

This plugin is used to display the downloadcenter.

The plugin comes with the following settings:

  • settings.rootFolder: The root folder of the download center ("1:/download-center").
  • settings.selectionLevels: Max selection boxes to display (default is 3).
  • settings.hideEmptyFolders: This option hides empty folders (containing no files and folders) (default is 0).

Exclude files or folders by name

You can exclude files and folders by name. To do so, you have to write some Typoscript. You can find an example in the setup.typoscript file, provided by the extension.

For Developers / DevOps

General extension information

  • All ajax calls are realized using the extension typoscript_rendering.
  • The displayed folders of the download center plugin are based on rico_dal.

Provided signals

  • indexBeforeFoldersGetsPassedToView: Used to manipulate the folders given to view initially.
  • nextLevelBeforeFoldersGetsPassedToView: Used to manipulate the folders given to view, if a new select box gets rendered.
  • contentBeforeFoldersGetsPassedToView: Used to manipulate the folders given to view, if the tab content gets rendered.

How to run the tests

To run tests, quality checks and build, execute the script Build/Scripts/runTests.sh.

The test runner script

No arguments: Run all unit tests with PHP 7.0

Options:

-s <...>
    Specifies which test suite to run
        - build: Builds the project (composer)
        - lint: Lints the php files
        - functional: functional tests
        - unit (default): PHP unit tests
        - quality: executes code quality checks (phpstan, phpcs, phpmd).

-p <7.0|7.1|7.2|7.3>
    Specifies the PHP minor version to be used

-e "<phpunit options>"
    Only with -s functional|unit
    Additional options to send to phpunit (unit & functional tests).
    Starting with "--" must be added after options starting with "-".
    Example -e "-v --filter canRetrieveValueWithGP" to enable verbose output AND filter tests
    named "canRetrieveValueWithGP"

-x
    Only with -s functional|unit
    Send information to host instance for test or system under test break points. This is especially
    useful if a local PhpStorm instance is listening on default xdebug port 9000. A different port
    can be selected with -y

-y <port>
    Send xdebug information to a different port than default 9000 if an IDE like PhpStorm
    is not listening on default port.

-u
    Update existing typo3gmbh/phpXY:latest docker images. Maintenance call to docker pull latest
    versions of the main php images. The images are updated once in a while and only the youngest
    ones are supported by core testing. Use this if weird test errors occur. Also removes obsolete
    image versions of typo3gmbh/phpXY.

-v
    Enable verbose script output. Shows variables and docker commands.

-h
    Show this help.