Mittwoch, 27. September 2017

Typo3 7.x+: Typo3-Link-Tags auch in HTML-Content-Elementen von fluid_styled_content

Früher (Typo3 bis 6.x) bzw. css_styled_content konnte man auf folgende Weise TypoLinks wie <link 1 - - "Linktitel">Linktext</link> auch in HTML-Elementen parsen:

tt_content.html.parseFunc.tags.link < lib.parseFunc.tags.link


Da man ab Typo3 7.x auch fluid_styled_content nutzen kann (und meiner Meinung nach auch sollte), funktioniert der Typoscript-Codeschnipsel nicht mehr. Um diese Funktionalität wiederherzustellen, müsst ihr folgendes machen (Vielen Dank auch an Georg Ringer für seinen Input, der mich überhaupt erst darauf gebracht hat).


Zunächst müsst ihr das Template für das HTML-Element von fluid_styled_content (typo3/sysext/fluid_styled_content/Resources/Private/Templates/Html.html) überschreiben. 


Weitere Informationen zum Überschreiben von Standard-Templates findet ihr hier: https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/7.6/Configuration/OverridingFluidTemplates/Index.html


Anschließend könnt ihr den vorhanden Code-Schnipsel ändern:

Vorher: 

<f:format.raw>{data.bodytext}</f:format.raw>

Nachher:

<f:format.htmlentitiesDecode>
    <f:format.html parseFuncTSPath="lib.parseFunc">
        {data.bodytext}
    </f:format.html>

</f:format.htmlentitiesDecode>

Erläuterung:

f:format.html parseFuncTSPath="lib.parseFunc" sorgt dafür, dass der HTML-Inhalt geparsed wird und die <link>-Tags durch entsprechende HTML-Tags ersetzt werden. 

f:format.htmlentitiesDecode wird im nächsten Schritt die HTML-Entitäten korrekt in sauberen HTML-Code umwandeln, damit diese auch vom Browser korrekt interpretiert werden. 

Et voilà!