5.3.1 Migration from FED
In case you started with EXT:fed some time ago, you will need to make some adjustments to port your existing FCE's and page layouts to EXT:fluidcontent and EXT:fluidpages.
This chapter should give you an advice on how such migrations would work in general.
First things first
FED/Flux in their old representation gave you the possibility to place your templates somewhere in the filesystem and reference it via TypoScript. This concept CAN still be used, but the recommended pattern is to use a "provider extension" to encapsulate your work on a specific topic.
The rest of this document assumes, you used a provider extension. Please consult the chapter on code generation for further instructions on what options you have for autogeneration.
Your provider extension should at least consist of the following files:
Configuration
-> TypoScript
-> setup.txt
-> constants.txt
ext_emconf.php
ext_tables.php
ext_localconf.php
For the sake of simplicity, we call the extension fluidtypo3_migration
.
TypoScript before the migration
In your old setup, you use something like this to register your elements to FED/Flux:
plugin.tx_fed.fce.mycollectionname.templateRootPath = ...
plugin.tx_fed.page.mycollectionname.templateRootPath = ...
TypoScript after migration
We like to follow standards. In history, flux
had to find its way, but now, we use standard view registration in
every FluidTYPO3 extension. As you may have thought of, change your TypoScript from above to something like this:
# View Registration
plugin.tx_fluidtypo3migration.view {
label = FluidTYPO3 Migration Elements
extensionKey = fluidtypo3_migration # notice this entry. Comes in handy when using extension names with underscores
templateRootPath = EXT:fluidtypo3_migration/Resources/Private/Templates/
partialRootPath = EXT:flux/Resources/Private/Partials/
layoutRootPath = EXT:fluidtypo3_migration/Resources/Private/Layouts/
}
Registering the provider extension
If you did not generate a provider extension but are in between a migration and still have an own extension you use, you
have to register it to flux. You will have to add some code to your ext_localconf.php
file:
// If your extension contains fluidpages page templates/layouts
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('fluidtypo3_migration', 'Page');
// If your extension contains fluidcontent FCE templates:
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('fluidtypo3_migration', 'Content');
// If your extension containts Backend modules:
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('fluidtypo3_migration', 'Backend');