Hallo und guten Morgen Liz!
Also, erst einmal VIELEN herzlichen Dank für deine Antwort!
Ich habe dein Script-Schnipsel als Ausgangspunkt verwendet und bin zu folgendem Code gekommen:
tt_content.image.20 {
caption {
1 {
required = 1
override.if.isTrue.field = image_zoom
typolink {
parameter.listNum.stdWrap.if.isTrue.field = image_link
parameter.override {
cObject = IMG_RESOURCE
cObject.file {
import = uploads/pics/
import.field = image
import.listNum.stdWrap {
data = register:IMAGE_NUM
}
maxW = {$plugin.perfectlightbox.lightBoxMaxW}
maxH = {$plugin.perfectlightbox.lightBoxMaxH}
}
if.isTrue.field = image_zoom
if.isFalse.field = image_link
}
ATagParams = rel="lightbox"
ATagParams.override = rel="lightbox[sb{field:uid}]"
ATagParams.insertData = 1
ATagParams.if.isTrue.field = image_zoom
}
}
}
}
Das funktioniert auch prächtig, ausser dass die Captiom IMMER angezeigt wird,
also auch wenn gar keine beim Bild hinterlegt ist!
Jetzt habe ich aber ehrlich gesagt grosse Verständnisprobleme mit den ganzen override's
und required's usw., deshalb würde ich den Code gerne Zeile für Zeile besprechen?!
Ich weiss, da fehlt's bei mir schon bei den Grundlagen 🙁
tt_content.image.20 {
caption {
1 {
required = 1
Required würde in dem Falle bedeuten, dass wenn die Caption leer ist, alle darauf
folgenden Befehle ignoriert/abgebrochen werden, oder wie ist das?
override.if.isTrue.field = image_zoom
Überschreibe was?, wenn das Feld image_zoom in der Datenbank gesetzt wurde
typolink {
parameter.listNum.stdWrap.if.isTrue.field = image_link
parameter.override {
Spätestens jetzt steig ich aus. Erstens kann ich mir der Beschreibung in der TSRef
nix anfangen und zweitens was hat das da mit dem typolink zu tun?
Und was bitte macht eigentlich das override GENAU?
cObject = IMG_RESOURCE
cObject.file {
import = uploads/pics/
import.field = image
import.listNum.stdWrap {
data = register:IMAGE_NUM
}
maxW = {$plugin.perfectlightbox.lightBoxMaxW}
maxH = {$plugin.perfectlightbox.lightBoxMaxH}
}
if.isTrue.field = image_zoom
if.isFalse.field = image_link
}
ATagParams = rel="lightbox"
ATagParams.override = rel="lightbox[sb{field:uid}]"
ATagParams.insertData = 1
ATagParams.if.isTrue.field = image_zoom
Das ist mir eigentlich klar, bis auf if.isTrue.field = image_zoom und
if.isFalse.field = image_link Werden dann die die davor stehenen Befehle
ignoriert, oder wird da ein Feld gesetzt? Und dann wäre da noch das insertData
Was macht das? Heisst das, dass {field:uid} eingesetzt wird?
Witzig - ich bin seit 13 Jahren hauptberuflich in der Softwareentwicklung tätig
und habe schon mehrere Programmiersprachen gelernt, aber Typo3 stellt mich
von der Syntax her immer noch mächtig auf die Probe. Irgendwas will mir da nicht einleuchten 😉
Danke
montharon