TYPO3 7.4 - neue Content Möglichkeiten
Data Prozessoren für den Content
Das FLUIDTEMPLATE wurde um 5 Data-Prozessoren erweitert. Damit lassen sich z.B. Felder mit mehreren Elementen (IRRE) parsen bevor sie an das Fluid Template gesendet werden. Dadurch werden spezielle ViewHelper (z.B. aus dem bootstrap_package) zum großen Teil überflüssig und die Templates übersichtlicher. Hier ein etwas umfangreicheres Beispiel:
tt_content.uxce_stage = COA
tt_content.uxce_stage {
20 = FLUIDTEMPLATE
20 {
templateName = Stage
layoutRootPaths.10 = {$plugin.uxce.view.layoutRootPath}
partialRootPaths.10 = {$plugin.uxce.view.partialRootPath}
templateRootPaths.10 = {$plugin.uxce.view.templateRootPath}
dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
dataProcessing.10 {
if.isTrue.field = tx_uxce_slider_item
table = tx_uxce_slider_item
orderBy = sorting
as = slides
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = uxce_slide_image_landscape
references.table = tx_uxce_slider_item
as = image_landscape
}
20 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
20 {
references.fieldName = uxce_slide_image_portrait
references.table = tx_uxce_slider_item
as = image_portrait
}
30 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
30 {
if.isTrue.field = button
table = tx_uxce_button
where = tablename="tx_uxce_slider_item" AND
where.data = field:uid
where.wrap = uid_foreign=|
orderBy = sorting
as = buttons
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = uxce_button_icon
references.table = tx_uxce_button
as = icon
}
}
}
}
}
}
}
Das ganze ist ein Content Element das einen Slider darstellt. Das CE enthält mehrere Slides. Jeder Slide enthält zwei Bilder und mehrere Button Datensätze mit jeweils wieder einem Bild. Wie man sehr schön sieht lassen sich die verschiedenen Prozessoren gut verschachteln. Insbesondere der DatabaseQueryProzessor hat es in Verbindung mit den TypoScript Möglichkeiten in sich. Nach meinem Wissen sind an Optionen erlaubt:
'pidInList',
'uidInList',
'languageField',
'selectFields',
'max',
'begin',
'groupBy',
'orderBy',
'join',
'leftjoin',
'rightjoin',
'recursive',
'where'
da geht was
Fazit
Die uralte Blackbox csc wird verschwinden. Über die Jahre hat sie aber durchaus gute Dienste geleistet. Mal sehen wie sich das entwickelt. Ich denke die Reihenfolge wird zukünftig Sql, TCA, FLUIDTEMPLATE mit DataProzessoren und recht übersichtliche Fluid Templates sein. Der Weg ist etwas anders als bei NEOS, aber sehr vielversprechend.