Installation without Fluid Styled Content
It is (and was) always possible to run a TYPO3 installation without the optional
extension fluid_
(fsc). With Content Blocks this is even easier
as you can create any Content Element you need really fast. If you need a
specific Content Element definition from fsc, you can simply re-create it.
However, there are some odd specialties which you will encounter when omitting
fsc.
Plugins and contentRenderingTemplates
Plugins from other extensions probably won't work without fluid_
as the rendering definition lib.
is defined there
for both CType
-based and list_
-based plugins. So you have to define it
yourself e.g. in your sitepackage.
# Basic rendering of list-type plugins. Normally defined in fluid_styled_content.
tt_content.list = FLUIDTEMPLATE
tt_content.list {
template = TEXT
template.value = <f:cObject typoscriptObjectPath="tt_content.list.20.{data.list_type}" table="tt_content" data="{data}"/>
}
# Specific rendering for CType plugins. Normally defined in fluid_styled_content.
# This needs to be added for every registered plugin separately.
tt_content.plugin_name = FLUIDTEMPLATE
tt_content.plugin_name {
template = TEXT
template.value = <f:cObject typoscriptObjectPath="tt_content.{data.CType}.20" data="{data}" table="tt_content" />
}
The first snippet above defines the default rendering definition for the
record type list
. This is a generic type for plugins, which further specify
their type in the field list_
.
The second snippet defines a rendering definition for a specific CType-based
plugin. As these plugins are independent from each other, this needs to be added
for every plugin. Tip: If you don't want to repeat this step over and over again
it is also possible to define your own lib.
with
the FLUIDTEMPLATE
cObject:
lib.contentElement = FLUIDTEMPLATE
lib.contentElement {
templateRootPaths {
0 = EXT:sitepackage/Resources/Private/Templates/
}
}
Then, add a template with name Generic.
. Add the cObject ViewHelper from
the snippet above and it will work automatically. This can also be done for
list-type plugin with List.
.
Which method you choose is up to you. The pure TypoScript variant is more robust as the template one, as changes are to be expected in the Core in this area.
contentRenderingTemplates
One thing is still missing: The so called content
definition. As the name suggests, it defines where the templates for the content
rendering are defined. Without fsc you probably don't have one. And without this
definition the TypoScript from above won't work, as it will be loaded too late
in the TypoScript parsing process.
// Define TypoScript as content rendering template.
// This is normally set in Fluid Styled Content.
$GLOBALS['TYPO3_CONF_VARS']['FE']['contentRenderingTemplates'][] = 'sitepackage/Configuration/TypoScript/';