Ergebnis 1 bis 19 von 19

Thema: Benutzer für Mitgliederverwaltung

  1. #1
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard Benutzer für Mitgliederverwaltung

    Hallo liebe Contao-Profis!

    Ich möchte einem Benutzer nur das Recht der Verwaltung der Mitglieder im Backend geben.
    Wenn ich also für diesen Benutzer nur Mitglieder und Mitgliedergruppen anhake,
    bekommt dieser Benutzer beim Klick auf Mitglieder die Auflistung angezeigt und mit dem blauen i auch alle Informationen angezeigt.
    Aber beim Editieren oder Neu-Anlegen werden gar keine Felder angezeigt, sondern nur drei Schaltflächen.

    Mache ich was verkehrt?

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Ich denke, Du musst diesem Benutzer (dieser Benutzergruppe) auch das Zugriffsrecht auf alle Felder der tl_member und tl_member_groups geben.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Wo mache ich das bzw. warum passiert das nicht automatisch, wenn ich in der Benutzerverwaltung Mitglieder und Mitgliedergruppen aktiviere, impliziert das doch, dassr dieser Benutzer die entsprechenden Rechte haben soll. Es kann ja leider nicht zwischen Lesen und Schreiben unterschieden werden...

    Edit: Oder anders gefragt, welche Kästchen muss ich aktivieren, damit ein Benutzer, die Daten aller Mitglieder editieren kann?

    BTW.: kann man das Pflichtfeld email ausschalten (wenn ja wie?)
    Geändert von rost (03.04.2017 um 17:01 Uhr)

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Das findest Du an der gleichen Stelle, an der Du die Backendmodule freigeschaltet hast "weiter unten".

    Warum geschieht das nicht automatisch? Weil Du einzeln Spalten freigeben kannst, aber eben nicht zwingend alle.

    Ausserdem geht es nicht um "die Daten aller Mitglieder" sondern um "alle Daten (Spalten) der Mitglieder" ;-)

    Das Pflichtfeld E-Mail könntest Du in einer eigenen "Mini-Erweiterung" oder durch einen Eintrag in der dcaconfig.php ändern. Stichworte eval und mandatory.
    Geändert von fiedsch (03.04.2017 um 19:19 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Vielen Dank für deine Mühe.
    Ich habe mir gerade noch mal die Augen wund gesucht, ich finde es nicht, wo ich die Rechte an der tl_member vergeben kann... o_o
    Weiter unten gibt es nur noch
    Themenmodule
    Pagemount
    Filemount
    Und dann die Rechte für Erweiterungen

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Was ich im Sinn hatte (war vorhin unterwegs und konnte auf dem Smartphone nicht wirklich nachschauen) ist in der Verwaltung der Benutzergruppen zu finden: "Erlaubte Felder". Ich war davon ausgegangen, daß Du für die Rechtevergabe Benutzergruppen verwendest und hatte das deher nicht extra angesprochen.

    Edit: Vielleicht willst Du Dir auch das hier anschauen: https://contao.org/files/conference/...hte-ck2015.pdf
    Geändert von fiedsch (03.04.2017 um 19:19 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Vielen Dank!
    Unter den Benutzergruppen gibt es diese Einstellungen auch bei mir ;-)
    Da muss man aber erst Mal drauf kommen...
    Auf den ersten Blick sehen die Häkchenlisten absolut identisch aus.
    Unerwartet, dass es ohne Gruppe nicht geht.

    Zu der Pflichtemail. Ich habe mal durch die ganzen Globals gescrollt.
    Da habe ich jetzt nichts gefunden was annähernd danach ausgesehen hätte.
    Und für die dcaconfig muss man die Parameter ja exakt angeben, da ist ausiterieren eher nicht möglich ;-)

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['email']['eval']['mandatory'] = false
    Edit: Du überschreibst damit die ursprüngliche Definition aus system/modules/core/dca/tl_member.php
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Daumen hoch

    Super! Vielen Dank, das funktioniert perfekt.
    Ist das irgendwo dokumentiert oder "weiß man das einfach" ?

  10. #10
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Zitat Zitat von rost Beitrag anzeigen
    Ist das irgendwo dokumentiert oder "weiß man das einfach" ?
    Findet man in deinem verlinkten Contaowiki...Defaultwerte vorbelegen
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

  11. #11
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Oh, cool. (Der Link ist eigentlich als Lesezeichen für mich gedacht)
    Wenngleich im Wiki-Beispiel die Suche 2 Treffer ergibt, die Suche nach email in *.php ergibt immerhin 133
    Aber wenn man weiß, wonach man suchen muss, kann man es schon finden.

    Vielen Dank, denn so habe ich mir die Datei tl_member.php mal angeschaut und festgestellt, dass man so auf einfache Weise auch die Anzeige der Mitglieder-Liste anpassen kann...

    Edit: Nur leider schaffe ich es nicht, das "Hinzugefügt am" weg zu bekommen.
    So sieht meine dcaconfig aktuell aus:
    Code:
    	$GLOBALS['TL_DCA']['tl_member']['fields']['email']['eval']['mandatory'] = false;
    	$GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array('icon', 'lastname', 'firstname', 'mobile', 'email');
    	$GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('lastname ASC', 'firstname ASC');
    Geändert von rost (04.04.2017 um 11:04 Uhr)

  12. #12
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Zitat Zitat von rost Beitrag anzeigen
    Super! Vielen Dank, das funktioniert perfekt.
    Ist das irgendwo dokumentiert oder "weiß man das einfach" ?
    Siehe Contao API-Doku; https://docs.contao.org/books/api/dc...tml#evaluation

    Zitat Zitat von rost Beitrag anzeigen
    ich mir die Datei tl_member.php mal angeschaut
    Oder natürlich im Code ;-)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  13. #13
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Zitat Zitat von rost Beitrag anzeigen
    Edit: Nur leider schaffe ich es nicht, das "Hinzugefügt am" weg zu bekommen.
    Ungetestet:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateAdded']['sorting'] = false
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  14. #14
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Ungetestet:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateAdded']['sorting'] = false
    Also die "Adresse" scheint zu stimmen, aber das Feld wird in der Übersicht immer noch als letzte Spalte vor den Icons angezeigt.
    Der Rest klappt. Es werden die Feder in der genannten Reichenfolge angezeigt und die Sortierung ist auch wie gewünscht.
    Naja, auf jeden Fall eine deutliche Verbesserung...
    Und wieder einiges gelernt - vielen Dank!

  15. #15
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Das wird über diese 2 Einträge gemacht:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('dateAdded DESC');
    $GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array('icon''firstname''lastname''username','dateAdded'); 
    Eintrag 2 ist für die Anordnung der Splaten und dessen Benamung zuständig. In deinem Fall soll also 'dateAdded' verschwinden.
    Dies verhindert jedoch der Eintrag 1, welcher die initiale Sortierung setzt. Das Feld in Eintrag 1 wird immer, sofern nicht in Eintrag 2 vorhanden, an die letzte Stelle der Tabelle gesetzt.
    Das kannst du einfach testen, indem du dateAdded durch tstamp ersetzt:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('tstamp DESC'); 
    Auch das Icon am Anfang der Zeile wird unabhängig der Einträge 1 und 2 in dem Callback eingefügt.
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

  16. #16
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Hm, zumindest bei mir funktioniert das nicht, denn ich habe ja das dateAdded schon aus der Sortierung geworfen (2. Zeile):
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array('icon''lastname''firstname''mobile''email');
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('lastname ASC''firstname ASC'); 
    Die Sortierung funktioniert auch wie gewünscht, trotzdem wird das Feld "Hinzugefügt am" aufgeführt, ist also entweder hart verdrahtet oder kommt woanders her.

    Aufgrund deines Einwandes bezüglich des Icon habe ich folgendes ausprobiert:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array( 'lastname''firstname''mobile''email'); 
    Witzig: Die Überschrift heißt Nachname, aber es wird das Icon angezeigt...

  17. #17
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.944

    Standard

    Du hast aber (wahrscheinlich) nicht gemacht, was ich in #14 geschrieben habe?

    Ich habe eben folgendes in der dcaconfig.php getestet:

    PHP-Code:
    // Put your custom configuration here

    $GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array('icon''lastname''firstname''mobile''email'); 
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('lastname ASC''firstname ASC');

    $GLOBALS['TL_DCA']['tl_member']['fields']['dateAdded']['sorting'] = false
    und es funktioniert. Initial ist die Seite evtl. noch nach dateAdded sortiert, weil sich Contao Deine Backendeinstellungen merkt.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  18. #18
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Standard

    Doch. Exakt so steht es bei mir drinne (cat, copy & paste):
    PHP-Code:
    // Schaltet die Pflichteingabe email aus
        
    $GLOBALS['TL_DCA']['tl_member']['fields']['email']['eval']['mandatory'] = false;
    // Ändert die Felder in der Auflistung    
        
    $GLOBALS['TL_DCA']['tl_member']['list']['label']['fields'] = array('icon''lastname''firstname''mobile''email');
    // Ändert die Sortierung    
        
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['fields'] = array('lastname ASC''firstname ASC');
    // Unterdrückt die Anzeige des Feldes dateAdded Hinzugefügt am    
        
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateAdded']['sorting'] = false
    Wie gesagt, es geht nicht um die Sortierung, die klappt - sondern um die Anzeige der Spalte "Hinzugefügt am" siehe Screenshot.
    mitglieder_liste.jpg

    EDIT: Ich hatte mehrfach die Mitglieder aufgerufen, sogar mich abgemeldet, Browser neu geöffnet. Immer dasselbe. Nun habe ich oben rechts auf die JingJang-Aktualisieren-Pfeile gedrückt, jetzt ist die Spalte weg!!!

    Vielen Dank für die Mühe und Geduld.


    Edit^2: Hahaha - ich werd' verrückt. Jetzt wird dafür die Spalte username wieder angezeigt...
    Ich glaube ich geb' auf.
    @fiedsch: Ich glaube die letzte Zeile braucht es gar nicht. Zumindest geht es bei mir auch ohne. Ich hätte eh vermutet, die bezieht sich eher auf die Datenbank.
    Geändert von rost (05.04.2017 um 15:07 Uhr)

  19. #19
    Contao-Nutzer
    Registriert seit
    23.08.2011.
    Beiträge
    176

    Multimedia

    Ahhhh, jetzt habe ich es begriffen.
    Die Spalte nach der sortiert wird, wird - falls nicht sowieso angezeigt - am Ende eingeblendet.
    Daher kam bei mir die Spalte username wieder in die Anzeige.

    PHP-Code:
        $GLOBALS['TL_DCA']['tl_member']['fields']['username']['sorting'] = false
    Mit dieser Zeile kann nicht mehr nach username sortiert werden und damit wird die Spalte auch nicht mehr angezeigt...
    (und wieder was gelernt)
    Ende gut - alles gut
    Vielen Dank nochmal für die hilfreichen Beiträge.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •