Benutzer_ID von Contao-Benutzer in Meta_Model "customSQL" nutzen?
Ich habe einen Bereich den ich für eine geschlossene Benutzergruppe freischalten möchte.
Um die richtigen Sachen in dem entsprechenden Bereich anzuzeigen, habe ich entsprechende MM-Filter erstellt.
Bei einem Filter möchte ich gerne nur die Datensätze ausgeben lassen, die zu der ID des aktuell eingeloggten Benutzers passt.
Hat jemand einen Tipp, wie ich dies in einer customSQL Abfrage erreichen kann?
Mir fehlt irgendwo der Ansatz, wie ich die Contao-BenutzerID in den Filter bekomme.
Liste der Anhänge anzeigen (Anzahl: 3)
Hey, vielen Dank.
Allerdings habe ich gerade noch ein anderes Problem:
Ich habe ein Meta-Model definiert das eine Liste ausgeben soll.
Im Bereich Rechte für Eingabemaske und Ansichten hab ich einmal für den Admin ein Filter angelegt, und einmal einen Filter für "Members".
Admin soll alle Datensätze sehen, die Members nur die Ihnen zugeteilten.
Dazu habe ich dann für die Members einen Filter erstellt, und testweise erstmal ein eigenes SQL eingetragen, in dem nur nach einem Datensatz abgefragt wird (id=28).
Anhang 23629
Nun gehe ich im Backend auf "Benutzer", und melde mich dann bei einem Demo-User über diesen Button an:
Anhang 23628
Der Kunde hat über die Benutzer-Gruppe der er zugeordnet ist nur Zugriff auf diesen Bereich "Mein Netzwerk". Klicke ich nun als "Kunde" darauf, sehe ich aber alle Mitglieder in der Datenbank. Der Filter wird also gar nicht auf das Ergebnis angewendet.
Anhang 23630
Liste der Anhänge anzeigen (Anzahl: 2)
Danke für dein Feedback.
bei "Rechte für Eingabemaske und Ansichten" steht dies
Anhang 23631
Der Bereich ist nicht "Mitglieder", sondern "Benutzer", wo dann auch eine Benutzer-Gruppe angelegt wurde.
Anhang 23632
Es soll ja nicht im Frontend angezeigt werden, sondern der User soll sich praktisch als "Benutzer" einloggen, um seine Netzwerk-Daten zu pflegen.
Administrator scheint immer vorhanden zu sein... und dann die Benutzergruppe, die ich angelegt habe.
Deinen letzten Satz hab ich leider nicht verstanden. Kannst du mir genauer erklären, was du damit meinst? Was ist CE & MG ?
Liste der Anhänge anzeigen (Anzahl: 3)
Ok, ich habe es bis jetzt so gemacht:
In meinem MetaModel (mm_myNetwork) habe ich ein neues Attribut angelegt "team_member_id".
Als Attribut-Typ habe ich "Einzelauswahl" genommen.
Weiter unten bei "Anzeigeeinstellungen" hab ich als Quell-Tabelle die Tabelle mm_customer gewählt.
In MM_customer hab ich einen Filter des Typs "einfachabfrage" erstellt und das Feld "Statischer parameter" Aktiviert. Das Attribut auf das sich die Einstellung bezieht ist "Contao_User".
Gehe ich nun zurück in mein Attribut in mm_myNetwork und wähle für den Typ "Einfachabfrage" und wähle unten meinen Filter und setze einen Filterwert.. erhalte ich zumindest in der Eingabemaske schon mal eine Auswahl.
Anhang 23635
Anhang 23636
Wenn ich jedoch nun im Filter (mm_customer)) anstatt der "Einfachabfrage" ein "CustomSQL" setze, und dort {{user:id}} wähle:
Code:
SELECT id FROM {{table}} WHERE contao_user = {{user::username}}
erhalte ich einen SQL-Error in dem Input-Feld:
Anhang 23637
Hier wird {{user::username}} (oder jeder andere Parameter hinter "{{user::" scheinbar nicht richtig interpretiert?!
Wo liegt hier mein Fehler?
Ist {{user::}} nicht nur für FE-Logins? Ich bin aber als BE-USER im System?! Wie komme ich da an dessen tl_user.id?
In der Hilfe zu MM steht noch, das man auch {{sessios::}} verwenden kann. Habe aber leider keine Beispiele gefunden um z.B. mal den Aufbau der Session ausgeben zu können um zu sehen wo ich da eine User-Id finde.
BTW:
Contao 4.4.44 ... und in der DB sind die Tabellen tl_member & tl_member_group absolut leer. Die Inhalte sind nur in tl_users && tl_user_groups zu sein. nNur als ergänzung, weil in den Docs immer von der Tabelle Members die Rede ist: https://docs.contao.org/books/manual...ber-properties)