Mir wurde gesagt, dass es einfach ist, in TYPO3 7.5 benutzerdefinierte, strukturierte Inhaltselemente für das Backend einzurichten, die die neue Systemerweiterung fluid_styled_content verwenden.
Nachdem ich mich bei sysext/fluid_styled_content
und sysext/backend
angesehen habe, konnte ich es selbst nicht herausfinden. Irgendwelche Hinweise?
Informationsquelle: fluid_styled_slider auf Github
Diese Informationen sind auch hier verfügbar: Ссылка
Die offiziellen Dokumente sind auch online: Ссылка
Damit unser Inhaltselement im Assistenten für neue Inhaltselemente angezeigt wird, müssen wir es über PageTSconfig
hinzufügen %Vor% Nun müssen wir TYPO3 mitteilen, welche Felder im Backend angezeigt werden sollen. Daher müssen wir die TCA-Konfiguration von tt_content erweitern.
Dieses Zeug ist jetzt im Ordner Configuration/TCA/Override
fertig. Fügen wir zuerst unseren neuen CType hinzu (dies könnte auch in ext_tables.php
gemacht werden):
Jetzt bestimmen wir, welche Felder für unseren CType angezeigt werden sollen:
%Vor% Der neue CType fs_slider
benötigt eine Renderdefinition. Das ist ziemlich einfach:
Das lib.fluidContent
ist nicht viel mehr als die Initialisierung eines FLUIDCONTENT
-Objekts. Wir ändern nur den Vorlagennamen
(Stellen Sie sicher, dass Sie zumindest Ihren Vorlagenpfad zu lib.fluidContent.templateRootPaths
hinzufügen)
und geben Sie an, welche DatenProzessoren wir verwenden werden. Ach richtig, dataProcessors.
Das sind PHP-Klassen, die die Daten erhalten, bevor sie an das fluidtemplate übergeben werden. Sie können die Daten manipulieren oder hinzufügen
in der Vorlage vorhanden sein. Der Code%
Zum Beispiel werden alle angehängten Medienelemente für uns aufgelöst, so dass wir auf die FileReference-Objekte in der Ansicht zugreifen können.
TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
ist ein benutzerdefinierter Prozessor, um zu veranschaulichen, wie dies funktioniert.
DataProcessors sind jedoch optional.
Das letzte Puzzleteil ist das eigentliche Template, das am Ende die von allen angegebenen DataProcessors verarbeiteten Daten erhält. Das ist einfach fließend, wie wir es kennen und lieben:
%Vor% Natürlich können wir hier auch Layouts und Partials verwenden. Beachten Sie, wie DanielGoerz\FluidStyledSlider\DataProcessing\FluidStyledSliderProcessor
die Zeile tt_content aus dem gerenderten enthält
Inhaltselement. {data}
wird von {files}
hinzugefügt und enthält das angehängte Medium
als richtige Objekte. TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
wird von unserem eigenen DataProcessor hinzugefügt.
Wir wollen wahrscheinlich eine Art Vorschau für unsere Redakteure im Seitenmodul. Es gibt zwei bemerkenswerte Möglichkeiten, dies zu erreichen:
Fluidvorlage über PageTSconfigWir können einfach eine flüssige Vorlage angeben, die in PageTSconfig als Vorschau gerendert werden soll:
%Vor% Diese Vorlage erhält alle Felder der Zeile tt_content direkt. So enthält {slider.width}
den Header, {header}
enthält den Header
Bodytext und so weiter.
Wenn wir anspruchsvollere Dinge tun möchten, wie zum Beispiel die Auflösung von Kinddatensätzen, können wir uns beim {bodytext}
Hook anmelden
so:
Unsere Klasse muss tt_content_drawItem
implementieren.
Was immer wir in \TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface
schreiben, wird im Seitenmodul in unserem Inhaltselement gerendert.
Tags und Links typo3 typo3-7.x fluid-styled-content