Zum Inhalt springen

Dropdown, welches die Daten aus der DB ausliest schon vorhanden?

Erstellt am 14. Dezember 2010 · 5 Antworten · letzte Antwort am 14. Dezember 2010

Tags: Datenbank, Frage

ISS ·

Hallo zusammen

Ich bräuchte ein Dropdownmenü, welches die Attribute einer gewissen Spalte aus einer bestimmten Tabelle aus der DB ausliest. Gibt es für diese Funktion bereits ein Extension, oder kann man das nur per TS oder wie soll ich dies Lösen?!
Danke für eure Hilfe

Gruss,
ISS

Shark1982 ·

Naja du kannst das auch mit nem USER Objekt und PHP Script lösen.
Das CONTENT Objekt ist allerdings find ich zweckmäßiger einzusetzen solange du keine JOIN Abfragen machen willst. Letzteres geht zwar auch ist aber etwas tricky.

Bsp (nur rudimentär rest kann man sich ja herleiten):

lib.getTableRow = CONTENT
lib.getTableRow {
             table = tabellenname
             select {
                    pidInList = PID der Seite wo die Datensätze der Tabelle sind, verfügt über stdWrap Eigenschaften
                    where = uid > 0 (Sonstige Abfrageparemater
                    selectFields= Der Feldname

             }

             renderObj=COA
             renderObj {
                     wrap = <form><select>|</select></form>
                     10 = TEXT
                     10.dataWrap = <option value="{field:...}">|</option>

             }

}
ISS ·

Hallo Shark

Danke für die schnelle Antwort.
Ich versuche momentan das Dropdownmenü mit dieser Extension zu machen: mk_anydropdownmenu
Sie funktioniert fast.. muss nur noch den $TCA eintrag von meiner Tabelle erstellen #paralyzed#

Werde zwischendurch mal deine Lösung anschauen. Ich habe noch eine Frage zu deiner Lösung...
Meine Daten(EInträge) sind nicht auf einer Seite

pidInList = PID der Seite wo die Datensätze der Tabelle sind, verfügt über stdWrap Eigenschaften

sondern nur in der DB. Funktioniert es auch, wenn ich diesen Punkt weglasse?

Gruss,
ISS

Shark1982 ·

Achso deine Tabelle ist nicht im TCA ?

Naja das solltest du ändern. Das CONTENT Objekt kann nur Tabellen im TCA auslesen die mit tx oder tt anfangen. Ausnahme ist die pages.
Ist historisch bedingt.
Du solltest dann wenn entsprechend das TYPO3 Konform machen mit den Tabellen oder dann doch mit ner USER Function arbeiten. Die ganze Tabellenstruktur von TYPO3 basiert auf PID und UID Werten eigentlich.

pidInList ist eine Pflichtangabe eigentlich. Bei selbstdefinierten TS Codeblöcken gibt man entweder eine kommaseparierte Liste an oder das Wort this.
Bei styles.content.get steht zum Beispiel this drin, das bezieht sich auf die gegenwärtige aktive Seite.

pidInList in das SQL Equivalent zu pid IN (...)