Hallo,
ich versuche mit den TypoScript den Inhalt von Content-Elementen des Typs "Text und Bilder" auszulesen. An die Überschrift und den Inhalt bin ich herangekommen, aber bei dem Zugriff auf das erste Bild komme ich nicht weiter. Mein TypoScript sieht bis jetzt wie folgt aus:
page = PAGE
page.typeNum = 0
# Gibt die Spalte "normal" (colPos = 0) aus
page.10 < styles.content.get
page.10.renderObj = COA
page.10.renderObj {
# Jedes Content Element wrappen
stdWrap.wrap = <div>|</div>
# Im Feld tt_content.header steht die Überschrift.
10 = TEXT
10.field = header
10.wrap =<h1>|</h1>
# Im Feld tt_content.bodytext steht der Text.
20 = TEXT
20.field = bodytext
20.wrap =<p>|</p>
}
Wie schaffe ich es nun, dass nach dem Inhalt in dem <p>-Tag ein <img>-Tag erzeugt wird, in dem das erste Bild des jeweiligen Content-Elements enthalten ist?
Viele Grüße
Indem dein
20=TEXT
ein COA wird.
Dieses beinhaltet 2 Teile, einmal den Text, wie bisher, der Zweite Teil ist vom Typ FILES. FILES hat ähnlich wie CONTENT ein renderObj mit dem du definieren kannst, wie z.b. die Bilder eines CE gerendert werden. Ebenso kannst du dort festlegen, wieviele Bilder und mittels welchen Referenz-Feldes du nach den Bildern suchst ( media-Feld der Seite oder images-Feld des CEs ).
Schau einfach mal in der TSREF nach bzw. gibt es diverse Anwendungsbeispiele für die Verwendung von FILES.
Du solltest auch bedenken, dass dein Bodytext per parseFunc gerendet werden sollte, damit die Links usw. auch entsprechend dargestellt werden. Das könnte beim Wrap mit <P> ggf. ein Problem geben da dieses je nach Inhalt bereits vorhanden sein könnte.
Hallo, vielen Dank für deine Antwort!
Leider komme ich immer noch nicht so richtig weiter. Die Verknüpfung vom Content-Element zum Bild klappt nicht so richtig:
page = PAGE
page.typeNum = 0
# Gibt die Spalte "normal" (colPos = 0) aus
page.10 < styles.content.get
page.10.renderObj = COA
page.10.renderObj {
# Jedes Content Element wrappen
stdWrap.wrap = <div>|</div>
# Im Feld tt_content.header steht die Überschrift.
10 = TEXT
10.field = header
10.wrap =<h1>|</h1>
# COA beinhaltet 2 Teile, einmal den Text, wie bisher, der Zweite Teil ist vom Typ FILES
20 = COA
20 {
# Im Feld tt_content.bodytext steht der Text.
10 = TEXT
10.field = bodytext
10.wrap =<p>|</p>
#Bild auslesen
20 = FILES
20 {
references {
table = tt_content
uid.data = field:uid
fieldName = image
}
renderObj = IMAGE
renderObj.file.import.data = file:current:uid
}
}
}
Irgendwie wird einfach kein Bild angezeigt..
Passt fast:
renderObj.file.treatIdAsReference = 1
Das noch dazu, dann sollte das gehen
Jetzt funktioniert es - vielen Dank!
Nada Problem. Einfach noch den Thread als gelöst markieren -> Unterm Benutzer des LÖsungsbeitrags auf den Schraubenschlüssel und "ist Lösung" anklicken.