Moin,
ich stand schon mehrfach vor dem Problem, dass mein FLUID-Code durch einfache if-Verzweigungen aufgeblasen wird.
Wir nutzen auf einer Seite ein DCE, welches unter anderem ein Bild darstellt. Wenn das Feld '{field.link}' einen Wert hat, soll das Bild verlinkt sein. Kann ich folgenden Code so schreiben, dass ich nur einmal '<f:image>' benutzen muss, um das Bild '{field.img}' anzuzeigen?
Hat jemand generell Verbesserungsvorschläge/Tipps um den Code zu verbessern?
{namespace dce=Tx_Dce_ViewHelpers}
<f:layout name="None" />
<f:section name="main">
<div class="b-infobox">
<b class="b-infobox__title">{field.title}</b>
<f:if condition="{field.img}">
<f:if condition="{field.link}">
<f:then>
<f:link.page pageUid="{field.link}">
<f:image src="uploads/pics/{field.img}" width="275" alt="{field.title}" class="b-infobox__img" />
</f:link.page>
</f:then>
<f:else>
<f:image src="uploads/pics/{field.img}" width="275" alt="{field.title}" class="b-infobox__img" />
</f:else>
</f:if>
</f:if>
<span class="b-infobox__text"><f:format.html>{field.text}</f:format.html></span>
<f:if condition="{field.pdf}">
<f:if condition="{field.hidePdfThumbnail} == 0">
<f:image src="uploads/pdfs/{field.pdf}" width="275" alt="{field.title}" class="b-infobox__img" />
</f:if>
<ul class="b-pdf-buttons stack-for-small button-group">
<li><span class="b-pdf-buttons__button button tiny pdf-link--preview"><i class="fa fa-eye"></i> <f:translate key="{tsSetup.lib.lll.value}preview" /></span></li>
<li>
<f:link.page class="b-pdf-buttons__button button tiny pdf-link--download" additionalAttributes="{download:true}" pageUid="/uploads/pdfs/{field.pdf}"><i class="fa fa-download"></i> <f:translate key="{tsSetup.lib.lll.value}download" /></f:link.page>
</li>
</ul>
</f:if>
</div>
</f:section>