Zum Inhalt springen

Datenfeld aus anderer Tabelle mit TS auslesen

Erstellt am 26. Februar 2009 · 7 Antworten · letzte Antwort am 27. Februar 2009

Tags: Frage

Winddancer ·

Hallo zusammen,

ich stecke gerade mit einem typoscript fest. Ich weiss, dass ich so ein Problem schonmal gelöst habe, aber mir fällt es partout nicht ein. :/ Vielleicht könnt Ihr mir einen Tip geben.

Ich möchte in einer Extension den Autor ausgeben und das ganze per E-Mail verlinken. In der Extension Tabelle wird aber nur die Nutzer ID als Referenz auf die be_user Tabelle ausgegeben. Sprich cruser_id = 1 wäre die dann uid = 1 in be_users. Dort möchte ich nun Realname auslesen und die email Adresse. Ich habe das ganze auch schon mit records versucht, aber da bekomme ich immer nur einen sql Fehler. :/ Hat jemand einen Tipp für mich?

autor = RECORDS
  autor {
    source.field = cruser_id
    tables = be_user
    conf.pages = TEXT
    conf.pages {
      field=realName
      #typolink.parameter.field = email
    }
  }
just2b ·

Hallo,

und du glaubst der fehler ist egal, deswegen erwähnst du ihn aber postest ihn nicht?!?

conf.pages muss wenn wohl conf.be_user heißen

georg

Winddancer ·

lol

Hallo Georg,

sorry war schon etwas spät gestern und hab das aus dem Kopf zu hause geschrieben. Da hab ich mal eben die Tabellennamen unterschlagen. Der Fehler war, dass die Tabelle be_user eigentlich be_users heisst. 😉 ergo sql fehler.

Trotzdem habe ich die Syntax jetzt mal korrekt aufgebaut und es funktioniert leider immer noch nicht. Per SQL Debug habe ich die query überprüft. Diese ist auch korrekt. Er liest alle Daten von dem be_user aus, der als Ersteller eingetragen ist. Nur die Ausgabe bleibt einfach komplett leer.

Hier mein fertiger TS:

  autor = COA
  autor.10 = RECORDS
  autor.10 {
    source.field = cruser_id
    tables = be_users
    conf.be_users >
    conf.be_users = TEXT
    conf.be_users.field = realName
  }

Habe es auch mit anderen Feldern versucht. Aber auch hier bleibt die Ausgabe leer. Selbst wenn ich das field durch value ersetze und manuell was reinschreibe bleibt die Ausgabe leer. Einen Wrap wiederrum zeigt er an.

Die Syntax ist aber laut Tsref korrekt. :/

Ne Idee woran es noch liegen könnte?

sven

just2b ·

mach einen fehler rein, schalt install tool ein, dann weißt was rauskommt.

georg
PS: ich sollte wohl auch einfach lösungen schreiben, die fehler haben, ungepürft sind, das macht das forumleben spannend

Winddancer ·

tja. das hatte ich leider schon versucht, sonst hätte ich ja hier nicht nochmal geschrieben.

Wenn ich einen Fehler in die Tabellenbenennung setze, kommt eine entsprechen SQL Debug Meldung, die mich zumindest erkennen lässt, dass die Query in der Sache korrekt ist.

Ein Fehler im conf Bereich führt zu garnichts. Im TS Rendering Output erscheint das COA überhaupt nicht. Obwohl es ausgeführt wird, was ich ja testen kann indem ich einfach nen value wert mit einbaue, den er auch ausgibt.

Ich habe den gleichen Skript auf einem anderen System getestet und da funktioniert er!!! Ich werde echt nochmal bekloppt mit TS..... #evil#

Winddancer ·

jup. das war auch mein erster gedanke. 🙂 wär aber auch sonst zu einfach gewesen.

wenn ich die query auf die mysql db absetze kommt der komplette be_user Datensatz zurück.

und das conf.tabellenname.field = feldname soll dann ja die Ausgabe im FE definieren. was es halt nicht tut....

Winddancer ·

Soooooo Fehler gefunden. Bin ich aber auch nur zufällig und mit der Hilfe eines Freundes drauf gestoßen...

Da be_user pid 0 haben, muss der RECORDS Abfrage noch "dontCheckPid = 1" hinzugefügt werden und schwupps funktioniert es!

endlich!!! 😉 Trotzdem danke für die Hilfe und die Geduld!