TYPO3 – tx_news Image mit File verlinken

Für ein TYPO3 6.2 Projekt mit tx_news habe ich an der News Detail den Part für die Image-Ausgabe umgebaut um dort die Bilder mit einer File ({mediaElement.link}) zu verlinken.
Für die TYPO3 7 Version ist es etwas einfacher, da es dafür einen ViewHelper (f:link.typolink) gibt. Doch für die T3 6.2.xx Version muss man etwas anders den Fluid-Code aufbauen.
Hier verwende ich einmal den VH f:format.html und dann den link Code.
Vielleicht hat jemand auch noch eine schönere Lösung?

Als Erstes müssen wir die Bild-Abfrage in der News Datei: FalMediaImage.html bearbeiten und erweitern.

TypoScript für 6.2.xx Version. Da wir den Parser etwas abändern müssen, das dort keine P-Tags usw. ausgegeben werden.

lib.parseFuncNews < lib.parseFunc_RTE
lib.parseFuncNews.nonTypoTagStdWrap.encapsLines >

Fluid für 6.2.xx Version:

<f:if condition="{mediaElement.link}">
	<f:then>
		<f:format.html parseFuncTSPath="lib.parseFuncNews">
			<link {mediaElement.link}>
				<f:image src="{mediaElement.uid}" treatIdAsReference="1" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" class="img-responsive" />
			</link>
		</f:format.html>
	</f:then>
	<f:else>
		<f:image src="{mediaElement.uid}" treatIdAsReference="1" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" class="img-responsive" />
	</f:else>
</f:if>

Wichtig ist hier, dass die neue Parser-Funktion im f:format.html geladen wird parseFuncTSPath="lib.parseFuncNews" und {mediaElement.link} mit im link-Tag eingebunden wird. So sollte nun das News-Bild mit der z.B. PDF File verlinkt werden.
Wenn es keinen Link gibt, wird wieder die normale Ausgabe verwendet. Kann natürlich noch beliebig ausgebaut werden.

TYPO3 7 sieht dann etwas einfacher aus:
……

<f:then>
	<f:link.typolink parameter="{mediaElement.link}">
		<f:image src="{mediaElement.uid}" treatIdAsReference="1" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" class="img-responsive" />
	</f:link.typolink>
</f:then>

……

So sollte es dann perfekt in der neuen TYPO3 Version funktionieren. Ich freue mich aber über „Verbessungsvorschläge“, daich eine schnelle Lösung gesucht habe und erstellt habe!

Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar

Hat Euch der Artikel weitergeholfen oder gefallen?
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!

Hat Euch der Artikel weitergeholfen oder gefallen? Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!Ich bin freiberuflicher TYPO3-Entwickler, Web-Entwickler und Frontend-Entwickler. Ich arbeite im und für das Web etwas mehr als 12 Jahre. Mehr Infos zu der TYPO3 Internetagentur - INGENIUMDESIGN.

Leave a Reply

Captcha *

Next ArticleTYPO3 - tx_news Bootstrap Carousel wenn mehr als ein Bild