[Frage] Typo3 7.6 Bild-URL aus tt_content-Spalte auslesen TYPO3-Version: -

  • aradeke aradeke
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    08. 04. 2016, 09:54

    Moin,

    ich versuche gerade ein OpePage-Design-Template zu schreiben und finde keine Lösung, wie die Bild-URL aus tt_content/colPos = 1 auslesen kann.

    Das Ziel ist es, dem Redakteur die Möglichkeit zu geben, Bilder für einzelne Abschnitte selbst austauschen zu können. Dazu habe ich im Backend eine Spalte "Hintergrundbild" auf Position 1 angelegt. Es ist kein Problem, das Bild selbst anzusteuern, allerdings kommt dann immer der gesamte HTML-Code mit.

    Ich nutze Typo3 7.6 LTS ohne CSC.

    Hat jemand eine Idee? Vielen Dank schonmal!

    Hier der Code:

    1. INHALT = CONTENT
    2. INHALT {
    3. table = pages
    4. select.pidInList = 2
    5. select.orderBy = sorting
    6.  
    7. renderObj = COA
    8. renderObj {
    9. 10 = TEXT
    10. 10.value = <section id="{field:subtitle}"
    11. 10.insertData = 1
    12.  
    13. 20 = CONTENT
    14. 20 {
    15. table = tt_content
    16. select.where = ColPos = 1
    17. select.pidInList.field = uid
    18. select.orderBy = sorting
    19.  
    20. // An dieser Stelle komme ich nicht weiter.
    21. renderObj=TEXT
    22. renderObj.data = FIELD:image
    23. renderObj.wrap = style="background-image:url(|)"
    24.  
    25. // Ab hier funktioniert alles, wie es soll.
    26. }
    27.  
    28. 30 = TEXT
    29. 30.value = >
    30.  
    31. 100 = CONTENT
    32. 100 {
    33. table = tt_content
    34. pidInList.field = uid
    35. orderBy = sorting
    36. where = colPos = 0
    37. }
    38. wrap = <div class="content">|</div>
    39. }
    40.  
    41. 999 = TEXT
    42. 999.value = </section>
    43. }
    44. }


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    08. 04. 2016, 10:43

    In dem "tt_content.image" Feld gibt es schon seit Version 6.2 keinen Dateinamen mehr.
    Das läuft nun alles über den FAL und um an das Bild zu kommen brauchst du das cObject FILES:

    https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Files/Index.html

    In deinem Snippet sollte das ab Zeile 21 in etwa so aussehen (nicht getestet):

    1. ...
    2. renderObj = FILES
    3. renderObj {
    4. references {
    5. table = tt_content
    6. uid.data = {field:uid}
    7. fieldName = image
    8. }
    9.  
    10. renderObj = TEXT
    11. renderObj.dataWrap = style="background-image:url({file:current:publicurl})"
    12. }

  • aradeke aradeke
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    08. 04. 2016, 11:53

    Ersteimal danke für die Antwort.

    Ich habe Version 6.X übersprungen und dachte mir schon, dass es damit zusammenhängt.
    Leider liefert dein Snippet kein Ergebnis (Quellcode bleibt an der stelle leer).

    Aber so habe ich ersteinmal einen Ansatzpunkt. :)

  • seebold seebold
    T3PO
    0 x
    29 Beiträge
    1 Hilfreiche Beiträge
    13. 04. 2016, 22:08

    versuche mal bitte

    1. fieldName = media

    [url]https://typo3.org/documentation/snippets/sd/438/[/url]

  • aradeke aradeke
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    14. 04. 2016, 11:22

    Hi Seebold, danke für den Hinweis. Der bringt aber leider auch nichts.

    Ich habe auch versucht mir per

    1. stdWrap.data = file:current:publicUrl
    das file zurückgeben zu lassen: "Error: no file object". Die Inhalte der Spalte findet er aber per field:uid.

  • TheFreeman TheFreema...
    Jedi-Meister
    0 x
    501 Beiträge
    0 Hilfreiche Beiträge
    16. 07. 2016, 01:06

    Ich habe praktisch das selbe Problem in Typo3 7.6.9
    Da sind auf PID #9 ein paar textimage - Elmenente, die ich gerne auf anderen Seiten ausgeben würde.
    Wobei der Text zwar ausgegeben wird, aber die Bilder nicht, egal weas ich versuche:

    1. lib.startPageOwlSliderContent = CONTENT
    2. lib.startPageOwlSliderContent {
    3. wrap = |
    4. table = tt_content
    5. languageField = sys_language_uid
    6. selectFields = bodytext,media
    7. where = colPos = 1
    8. pidInList = 9
    9. }
    10.  
    11. renderObj = COA
    12. renderObj{
    13. wrap = <div class="slider-item">|</div>
    14.  
    15. 10 = FILES
    16. 10 {
    17. references {
    18. table = tt_content
    19. fieldName = media
    20. }
    21. renderObj = IMAGE
    22. renderObj {
    23. file.treatIdAsReference = 1
    24. file.import.data = file:current:publicUrl
    25. file.width = 1920c
    26. file.height = 600c
    27. }
    28.  
    29. wrap = <div class="slider-item-image">|</div>
    30. }
    31.  
    32. 20 = TEXT
    33. 20.wrap = <div class="slider-item-text">|</div>
    34. 20.field = bodytext
    35. }
    36. }

    Ich wäre auch über jeden hilfreichen Tip dankbar.

  • 1