Zum Inhalt springen

von anderen Nutzern angelegte Datensaetze ausblenden

Erstellt am 3. Juli 2006 · 3 Antworten · letzte Antwort am 4. Juli 2006

Tags: TCA, Frage

tillj ·

Hallo,

ich habe eine Erweiterung angelegt in der verschiedene Nutzer mittels des Listen Moduls Datensaetze eingeben sollen. Es funktioniert prinzipiell auch alles nur sieht leider jeder Nutzer auch die Eintraege des jeweils anderen.

In der Datenbank gibt es ja nun schon das Feld cruser_id. Leider habe ich keine Moeglichkeit gefunden dem Nutzer in der Listenansicht nur die Eintraege anzuzeigen bei denen cruser_id gleich der aktuellen uid ist.

Meine erste Idee war im TCA Array eine art Where-Klausel zu finden und diese zu aendern. In der Referenz habe ich aber leider keine Anregungen gefunden wie ich das umsetzen kann.

Hat hier vielleicht jemand eine gute Idee wo ich dafuer ansetzen kann ?
Ich brauche gar nicht unedingt die fertige Loesung, sondern gerne auch gute Ideen, Denkanstoesse oder nuetzliche Links...

Vielen Dank im Vorraus

Till

just2b ·

Arbeite mit mehreren Sys-Ordnern und setze da die Berechtigungen auf Sys-ordner ebene

georg

tillj ·

Vielen Dank fuer deine Antwort. Mit Sys-Ordnern musste ich bisher noch nicht arbeiten aber dann wirds wohl mal Zeit die betreffende Doku zu lesen... 🙂

Aber gibt es nicht dennoch auch die Moeglichkeit auf die Where-Klausel direkten Einfluss zu nehmen ? Das waere auch fuer ein paar andere Dinge eine verfuehrerisch einfache Loesung.

tillj ·

Habe es jetzt erstmal quick and dirty gemacht. Es funktioniert zwar wunderbar hinterlaesst aber zumindest etwas Magengrummeln...

Ich habe in der class.db_list_extra.inc die Funktion getTable erweitert, so dass wenn ein oder mehrere selbstbenannte Parameter im TCA-Array gesetzt sind die Datenbankabfrage fuer diese eine Tabelle modifiziert wird.

Gibt es fuer soetwas vielleicht noch einen anderen etwas eleganteren Weg ?