TemplaVoila Snippets

Bild verlinken, Link im FCE angeben

Es gibt ein Bildfeld (field_image) und ein Linkfeld (field_link). Das Bild soll automatisch mit dem Link gewrappt werden.

10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 400
10.stdWrap.typolink.parameter.field = field_link

Class an FCE, falls Bild hochgeladen wurde

In TemplaVoila wird ein FCE gebaut, dass einen Bild beinhaltet (field_image). Dem FCE soll eine Klasse angehängt werden, die sagt, ob ein Bild hochgeladen wurde oder nicht (w-image bzw. no-image). Zusätzlich soll die Box immer die Klasse „fce-bildbox“ bekommen und noch zwei weitere Werte aus Auswahlboxen für Design und Icon. Hier das TypoScript, dass auf das Attribut „class“ des FCE-Containers gemappt wird:

10 = COA
10.stdWrap.noTrimWrap = |fce-bildbox ||

10.10 = TEXT
10.10.dataWrap = |{field:field_design} {field:field_category_icon}
10.20 = TEXT
10.20 {
   noTrimWrap = | ||
   value = no-image
   override = w-image
   override.if.isTrue.data = field:field_image
}

Default-Label für Link-Button

In TemplaVoila gibt es zwei Felder: Ein Feld field_link, in das der Benutzer später einen Link angeben kann und ein Feld field_linklabel, in das ein Button-Label bzw. eine Beschriftung für den Link angegeben werden kann. Wenn kein Label angegeben wurde, soll ein default-Text für den Button angezeigt werden – allerdings NUR wenn auch ein Link angegeben wurde.

Diese doppelte Bedingung läßt sich in TypoScript umsetzen, wenn man von innen nach außen denkt:

10 = TEXT
10.field = field_linklabel
10.override.cObject = TEXT
10.override.cObject < worte.weiterlesen
10.override.if.isTrue.cObject = COA
10.override.if.isTrue.cObject {
   1 = TEXT
   1.value =
   1.override.field = field_link
   1.override.if.isFalse.field = field_linklabel
}
10.typolink.parameter.field = field_link
10.required = 1

Damit der Default-Button-Text auch mehrsprachig sein kann, habe ich ihn in das Template-Setup der Seite ausgelagert.

worte.weiterlesen = TEXT
worte.weiterlesen.value = Mehr Infos

Class an DIV hängen, wenn Bild im FCE existiert

Im TemplaVoila gibt es zwei Felder: field_style (eine einfache Auswahlliste mit "Designs") und field_image (Bildfeld). Das field_style wird auf das äußerste DIV als Attribut =class gemapped und soll immer die Klasse "fce-teaserbox", dann die Klasse für das gewünschte Design und dann eine Klasse "no-image" bzw. "w-image" haben, falls ein Bild im Feld field_image hochgeladen wurde.

10 = TEXT
10.field = field_style
10.noTrimWrap = |fce-teaserbox ||

20 = TEXT
20.value = no-image
20.override = w-image
20.override.if.isTrue.field = field_image
20.noTrimWrap = | ||

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.