xima-media / xm_formcycle
TYPO3 extension to include your formcycle forms
Package info
github.com/xima-media/xm_formcycle
Type:typo3-cms-extension
pkg:composer/xima-media/xm_formcycle
Requires
- php: ^8.2
- ext-fileinfo: *
- typo3/cms-core: ^13.0
Requires (Dev)
- bk2k/bootstrap-package: ^14.0 || dev-master
- codeception/module-asserts: ^3.0
- codeception/module-cli: ^2.0
- codeception/module-db: ^3.1
- codeception/module-phpbrowser: ^3.0
- codeception/module-webdriver: ^4.0
- eliashaeussler/typo3-codeception-helper: ^1.1.2
- friendsofphp/php-cs-fixer: ^3.34.1
- helhum/typo3-console: ^8.1 || dev-issue/1169
- helmich/typo3-typoscript-lint: ^3.2.1
- saschaegerer/phpstan-typo3: ^1.1.2
- symfony/translation: ^7.0
- typo3/cms-base-distribution: ^13.4
- typo3/cms-lowlevel: ^13.4
- typo3/testing-framework: ^9.1
This package is auto-updated.
Last update: 2026-06-23 12:19:15 UTC
README
TYPO3 extension xm_formcycle
A TYPO3 extension that connects to formcycle. Select your created forms and embed them into your TYPO3 site.
Requirements
- formcycle version 8 + installed plugin
Formularliste - PHP 8.1+
Installation
Composer
composer require xima/xima-typo3-formcycle
TER
Download the zip file from TYPO3 extension repository (TER).
Configuration in TYPO3 v13
The configuration of formcycle has been moved to the Site Sets. Just add the Formcycle Site Set to your Site Configuration:
After that, you can enter your Formcycle credentials via the Site Settings module:
Form import
By default the extension fetches the list of available forms from the formcycle server on every request (cached). Alternatively you can import the forms into the TYPO3 database once and serve them locally — this avoids remote calls during frontend rendering and enables the form list/detail display mode and the link wizard.
1. Define a storage folder
Create a sysfolder that will hold the imported form records and set its page id as
the formcycle.storagePid site setting (Site Settings module, Formcycle
category). As soon as a storage PID is configured, forms are read from the local
database instead of the remote server.
Optionally set formcycle.detailPid to the page that contains the form detail
plugin, so list entries can link to their detail view.
2. Run the import
Import the forms for all configured sites via the CLI command:
typo3 formcycle:import-forms
The command creates new form records, updates changed ones and removes forms that no longer exist on the formcycle server. Schedule it (e.g. via cron or the scheduler) to keep the local data in sync.
Route Enhancer
The route enhancer provides SEO-friendly URLs for the form detail view
(/{form_id}). In v14 it is loaded automatically via the site set. In v13 you
need to import the route enhancer configuration into your site configuration
manually:
imports: - { resource: 'EXT:xm_formcycle/Configuration/Sets/Formcycle/route-enhancers.yaml' }
Link wizard page restriction
To restrict the page tree in the link wizard to only show pages with formcycle form records, you can set it in you page TSconfig of your sitepackage:
// all configuration options are optional
TCEMAIN.linkHandler.formcycleForm {
configuration {
storagePid = 42
pageTreeMountPoints = 42
hidePageTree = 1
}
}
Configuration in TYPO3 v11 & v12
After installation, enter your login data via extension configuration and include the TypoScript template for the frontend rendering.
1. Extension configuration
Set your formcycle credentials in the extension configuration via TYPO3 backend or in your config/system/settings.php:
'EXTENSIONS' => [ 'xm_formcycle' => [ 'formcycleUrl' => 'https://pro.formcloud.de/formcycle/', 'formcycleClientId' => '4231', ], ]
2. TypoScript include
Include the static TypoScript template "formcycle" or directly import it in your sitepackage:
@import 'EXT:xm_formcycle/Configuration/TypoScript/setup.typoscript'
Developer
If you want to modify the fluid template, add template paths via TypoScript constants:
plugin.tx_xmformcycle {
view {
templateRootPath = EXT:your_ext/Resources/Private/Templates
partialRootPath = EXT:your_ext/Resources/Private/Partials
layoutRootPath = EXT:your_ext/Resources/Private/Layouts
}
}
Copy and modify the Formcycle.html to the Templates directory.
Migration from version 9 to 10
If you are upgrading from version 9 to 10 (TYPO3 v12 to v13), you need to perform the following steps:
1. Migrate Extension configuration
The extension configuration of the formcycle URL and formcycle client ID have been moved to the TYPO3 system settings. You need to manually
migrate the settings from $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['xm_formcycle'] to the config/settings/<identifier>/settings.yaml.
2. Run Upgrade wizard
In version 10 of this extension, the flexform settings have been moved to regular TCA fields. To migrate your existing content elements, run the Upgrade Wizard in the TYPO3 backend or via CLI:
typo3 upgrade:run xmFormcycle_flexformMigrationddev
License
This project is licensed under GNU General Public License 2.0 (or later).

