Benutzer nach Gruppe abfragen

  • made made
    Padawan
    0 x
    35 Beiträge
    0 Hilfreiche Beiträge
    01. 03. 2009, 23:16

    Hallo,

    ich habe mir eine TYPO3 Extension geschrieben, die im Backend eine Verknüpfung zur Benutzertabelle hat. Ich habe hierzu in meiner Tabelle ein Feld mit Namen users und foreign_table fe_users. Nun möchte ich die Datensätze zur Auswahl in diesem Feld auf eine bestimmte Benutzergruppe einschränken.
    Ich habe dies über einen Eintrag in ext_conf_template.txt gelöst und lese diese Variable in der tca.php wieder ein und schreibe den Wert in die Variable $specialGroup. So weit funktioniert alles blendend. Nun habe ich über den Wert foreign_table_where gelöschte, deaktivierte und alle Benutzer anderer Gruppen ausgeschlossen:

    1. "foreign_table_where" => "AND NOT fe_users.disable AND NOT fe_users.deleted AND fe_users.usergroup = ".$specialGroup." ORDER BY fe_users.name"

    Funktioniert auch, allerdings nur so lange wie die Benutzer alle nur einer Gruppe zugeordnet sind und genau dies ist nicht immer der Fall. Ich müsste also so etwas wie AND usergroup IN ('1', '2') nutzen, nur umgekehrt. Auch eine Abfrage wie usergroup LIKE '%1%' funktioniert nur so lange, bis die Benutzergruppen 2-stellig werden, dann finde ich nämlich bei der Suche nach Benutzergruppe 1 auch 11, 12 usw.
    Hat jemand eine Idee, wie ich mein Problem lösen kann?

    Vielen Dank

    Marc


  • 1
  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    03. 03. 2009, 10:28

    1 noch gegen die Variable austauschen...

    ( usergroup = 1 OR usergroup LIKE 1,% OR usergroup LIKE %,1 OR usergroup LIKE %,1,% )

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    3116 Beiträge
    137 Hilfreiche Beiträge
    03. 03. 2009, 10:36

    Hallo Marc.

    Die Berücksichtigung all dieser hidden-, deleted- und anderer Standardfelder kannst Du dDir erleichtern, indem Du auch Funktionen von TYPO3 zurückgreifst. Die Funktion [url=http://www.typo3-unleashed.net/typo3apidocs/typo3api_4.2.1/html/df/d65/classtslib__cObj.html#b375dcc0c59abd4e47363bf1ca26c5a9]enableFields[/url] in der Klasse tslib_cObj liefert Dir den passenden Teil für die Where-Klausel.

    Viele Grüße
    Julian

  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    03. 03. 2009, 11:11

    Die kann er aber in tca.php nicht benutzen oder sehe ich das falsch.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • 1