Datenbankfeld auslesen aus Erweiterung [Gelöst]

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2013, 13:05

    Mahlzeit,

    ich hab da mal weider ein Problem, dass ich alleine nicht auf die Reihe kriege.
    Und zwar muss ich ein Datenbakfeld aus einer Extension (Realty-Manager) auslesen.
    Nach einiger Recherche habe ich diese Anleitung zum Content-Element gefunden: [url=]http://www.typo3wizard.com/de/artikel/das-content-objekt.html[/url]
    Daraus habe ich für mich dieses TS extrahiert:

    1. ## Teaser
    2. lib.field_teaser1 = COA
    3. lib.field_teaser1 {
    4. # Überschrift
    5. 10 = TEXT
    6. 10 {
    7. data = DB : tx_realty_objects : 2 : title
    8. wrap = <div class="header">|</div>
    9. }
    10. ## Bild
    11. 20 = CONTENT
    12. 20 {
    13. table = tx_realty_objects
    14. wrap = |
    15. ## max = 1
    16. selectFields = tstamp
    17. ## where = uid=57
    18. }
    19. renderObj = COA
    20. renderObj {
    21. 10 = TEXT
    22. 10{
    23. wrap = check |
    24. field = tstamp
    25. }
    26. }
    27. }
    28. ## Text
    29. 30 = TEXT
    30. 30 {
    31. data = DB : tx_realty_objects : 2 : teaser
    32. wrap = <div class="inhalt">|</div><div class="uebersicht">Übersicht</div>
    33. }
    34. }

    Meine Sorge ist hier Ebene 20. Die Ebenen 10 und 30 funktionieren einwandfrei.
    Wenn ich statt "table = tx_realty_objects" einfach "table = pages" verwende, dann werden die Werte ausgelesen und angezeigt. Bei tx_realty_objects nicht.
    In der Dokumentation ([url=]http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.2.0/view/1/8/#id4251042[/url]) heißt es, das Content-Object würde auch mit Tabellen funktionieren, die mit "tx_*" beginnen, daher stehe ich etwas auf dem Schlauch. Banale Probleme wie Rechtschreibung sind geprüft.

    Hoffentlich kann mir jemand helfen
    Chrickenh


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    01. 02. 2013, 14:31

    Sieht eigentlich nicht verkehrt aus... vielleicht klappt es mit

    1. lib.field_teaser1.20.renderObj.10.data = field:tstamp

    ...nur geraten und nicht selbst getestet.

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2013, 15:04

    Hallo Toifel,

    vielen Dank für die schnelle Antwort.
    Leider hat die Änderung keinen Uuterschied gebracht.

    Gruß
    Chrickenh

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    02. 02. 2013, 15:22

    Gibt es vielleicht noch einen anderen Weg, ein Datenbankfeld auszulesen?
    Vielleicht arbeitet diese Methode tatsächlich nicht mit den Feldern der Extension zusammen.

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    02. 02. 2013, 15:44

    Mir fällt etwas seltsames auf, vielleicht hat es ja mit dem Problem zu tun:
    Ich habe testweise mal den folgenden EIntrag gemacht:

    1. lib.field_teaser1 {
    2.  
    3. ...
    4. ## Bild
    5. 20 = CONTENT
    6. 20 {
    7. table = pages
    8. wrap = |
    9. max = 1
    10. selectFields = tstamp
    11. where = uid=58
    12. }
    13. renderObj = COA
    14. renderObj {
    15. 10 = TEXT
    16. 10{
    17. wrap = check |
    18. ## field = tstamp
    19. data = field:tstamp
    20. }
    21. }
    22. }
    23. ...
    24. }

    Damit will ich einfach den Timestamp ausgeben.
    Das funktioniert nur dann, wenn die Seite zur Anzeige auch tatsächlich sichtbar wäre.
    Sie muss Unterseite der aktuellen Seite und aktiviert sein, sonst funktioniert es nicht.
    Stellt sich die Frage, was geprüft wird, vermutlich die PID? Ich probier das mal.

    [b]EDIT:[/b]
    Tatsächlich: Wenn ich für das Tabellenfeld die PID 27 eintrage, dann wird das Tabellenfeld ausgelesen.
    Jetzt brauche ich eine Möglichkeit, ohne diesen Hack zu arbeiten. Also auch die PIDs 48, 49 und später noch weitere akzeptieren zu lassen.

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    02. 02. 2013, 17:25

    Ich habe es gelöst. Es ist der Parameter pidInList, der genau das tut, was ich will.
    Meine Lösung sieht so aus:

    1. lib.field_teaser1 = COA
    2. lib.field_teaser1 {
    3.  
    4. ## ...
    5.  
    6. ## Bild
    7. 20 = CONTENT
    8. 20 {
    9. table = tx_realty_images
    10. wrap = |
    11. max = 1
    12. pidInList = 48,49
    13. selectFields = image
    14. where = uid=2
    15. }
    16. renderObj = COA
    17. renderObj {
    18. 10 = TEXT
    19. 10{
    20. wrap = <div class="inhalt"><div class="bild"><img src="/typo3/uploads/tx_realty/|" width="100%"></div>
    21. field = image
    22. }
    23. }
    24. }
    25. ## ...
    26. }

  • 1