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 = | ||