Zum Inhalt springen

Default sortierung im FE ändern

Erstellt am 17. Dezember 2008 · 6 Antworten · letzte Antwort am 18. Dezember 2008

Tags: Frage

maik ·

Hallo zusammen,

ich habe eine kleien EXT und möchte die standard Sortierung der Datensätze im FE ändern.

Mein Problem ist, dass ich nach einigen DB-Feldern sortieren kann ab nicht nach denen die ich gerne hätte.

Das funktioniert

$this->piVars['sort'] = "title";

das auch

$this->piVars['sort'] = "title:1";

Ich möchte es aber absteigend nach der uid oder crdate sortiert haben.

$this->piVars['sort'] = "uid:1";

und genau das funktioniert nicht.

Ich versteh das überhaupt nicht. Hat jemand eine Idee???

Mopps ·

piVars sind doch Variablen innerhalb deiner extension, oder nicht?

Folgen müßte doch dann eine neue DB-Abfrage (Feld: uid, Sortierung: DESC). In der piVars kannst du ja übergeben was du willst.

Irgendwie verstehe ich es nicht.

maik ·

piVars sind doch Variablen innerhalb deiner extension, oder nicht?

Ja und $this->piVars['sort'] wird verwendet um den SQL SELEKT zu erzeugen.

Mit allen Datenbankfeldern haut es hin, nur nicht mit den Standard Feldern wie UID, CRDATE, TSTAMP, ...

Ich hatte auch schon in tca.php versucht das default_sorting umzustellen, was nichts gebracht hat.

Wie kann ich denn sonst ohne den SQL SELEKT selber zu schreiben meine Datensätze beim ersten Aufruf der Seite absteigend nach UID oder CRDATE ausgeben?

maik ·

Das bezieht sich auf die Default Sortierung der Datensätze im Backend wenn wenn ich mich recht entsinne.

maik ·

Der Select wird ja bereits erzeugt, ich würde halt gerne nur das sorting ändern.

$res = $this->pi_exec_query('tx_myTable',1);

pi_exec_query greift ja auf piVars zu.
Hier kann ich auch eine andere Tabellenspalte setzen, aber nicht crdate oder uid.

Ich hatte an der folgenden Stelle auch schon probiert, aber ohne Erfolg.

// Initializing the query parameters:
list($this->internal['orderBy'],$this->internal['descFlag']) = explode(':',$this->piVars['sort']);