Ergebnis 1 bis 9 von 9

Thema: Mitglieder einer Gruppe in Select-Menü

  1. #1
    Contao-Nutzer
    Registriert seit
    23.11.2009.
    Ort
    Zwickau
    Beiträge
    50

    Frage Mitglieder einer Gruppe in Select-Menü

    Hallo Community,
    ich benötige in einem Feld alle FE-Mitglieder der FE-Gruppe mit der ID 1.
    Die ID Der Frontendgruppe kann ruhig Hardcodet sein, die muss dann später nicht mehr geändert werden.

    Habe da schon mal was vorbereitet:

    dca\tl_calender_events.php
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('author;','author,sur_verwalter;'$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['sur_verwalter'] = array
            (
                
    'label'                   => &$GLOBALS['TL_LANG']['tl_calendar_events']['sur_verwalter'],
                
    'exclude'                 => true,
                
    'inputType'               => 'select',
                
    'options_callback'        => array('tl_calendar_events''getVerwalter')
            );


    class 
    sur_verwalter extends tl_calendar_events
    {
        
    /**
         * Get all members from group 1 and return them as array
         * @return array
         */
        
    public function getVerwalter()
        {
            
    $arrMember = array();
            
    $objMember $this->Database->execute("SELECT id, company FROM tl_member ORDER BY company");

            while (
    $objMember->next())
            {
                
    $arrMember[$objMember->id] = $objMember->company;
            }

            return 
    $arrMember;
        }

    Kann mir da mal einer auf die Sprünge helfen?
    Mit einer simplen Datenbankabfrage wird das ja leider nix, da die Gruppenzugehörigkeiten in einem BLOB stehen.

    Gibt es da noch eine andere Möglichkeit?

    Vielen Dank im Voraus

    Marcel Debray

    Edit: hab mal noch ein wenig korrigiert.
    Geändert von mccrossen (15.12.2010 um 20:54 Uhr)
    C O N T A O - Was will man mehr?
    Projekt: www.zwickau-crossen.de

  2. #2
    Contao-Fan Avatar von Wichteldesign
    Registriert seit
    23.06.2009.
    Ort
    Nürtingen
    Beiträge
    353

    Standard

    Dir beliebt im Grunde nix anderes, als alle Mitglieder durchzugehen, die Gruppe deserialisieren, schauen ob die gesuchte Gruppe enthalten ist und dann entsprechend das Mitglied in ein Rückgabe-Array schreiben.

    Es gibt glaube ich noch die Möglichkeit den Serialisierten String zu prüfen, aber das war glaube ich nicht immer korrekt.

    Hoffe es hilft dir. Gruß
    Felix
    Besten Gruß, Felix Peters
    Wichteldesign // Github // @wichteldesign // @el_wichtel

  3. #3
    Contao-Nutzer
    Registriert seit
    23.11.2009.
    Ort
    Zwickau
    Beiträge
    50

    Standard

    Mhh nun gut,
    die Daten in dem BLOB sind wohl auch nur ein seriealisiertes Array?

    Kann man die sich irgendwo anzeigen lassen?
    Und wie liest man dieses BLOB aus, sodass es Contaokonform ist?

    Grüße

    Marcel
    C O N T A O - Was will man mehr?
    Projekt: www.zwickau-crossen.de

  4. #4
    Contao-Fan Avatar von Wichteldesign
    Registriert seit
    23.06.2009.
    Ort
    Nürtingen
    Beiträge
    353

    Standard

    das ist ein serialisiertes Array. Einfach mit deserialize öffnen, und verarbeiten. Das Serialisierte Array ist nur ein String und deshalb wie eine Variable zu bekommen.


    PHP-Code:
    objMember->groups //oder eben eine andere Eigenschaft 
    Besten Gruß, Felix Peters
    Wichteldesign // Github // @wichteldesign // @el_wichtel

  5. #5
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    827

    Standard

    Anmerklung:
    in der Zeile
    PHP-Code:
     'options_callback'        => array('tl_calendar_events''getVerwalter'
    müsste es doch so lauten, oder?
    PHP-Code:
     'options_callback'        => array('sur_verwalter''getVerwalter'
    Geändert von ChrMue (16.12.2010 um 15:55 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    23.11.2009.
    Ort
    Zwickau
    Beiträge
    50

    Frage

    Hi,
    @ churmue: Ja natürlich müsste es so heißen, gut aufgepasst. Hatte dies nach dem Posten hier im Forum selbst gemerkt und geändert.

    @ all:
    Das gibt bei mir irgendwie nichts aus. Die Debug-Variable ['TEST'] ist bei mir leer.

    Ich dachte auch eher das serialisierte Daten so z. B. ein Array aussehen: "a:2:{s:4:"unit";s:2:"km";s:5:"value";s:3:"1.5";}" . Wenn ich die Tabelle in SQL exportiere sehen die Daten aus dem BLOB für groups so aus: 0x613a313a7b693a303b733a313a2231223b7d.

    Meine Funktion sieht jetzt wie folgt aus:
    PHP-Code:
        public function getVerwalter()
        {
            
    $arrMember = array();
            
    $objMember $this->Database->execute("SELECT id, company FROM tl_member ORDER BY company");

            
    $arrMember[0] = "";
            
            while (
    $objMember->next())
            {
                
    $GLOBALS['TL_DEBUG']['TEST'] = unserialize($objMember->groups);
                
                
    #$arrMember[$objMember->id] = $objMember->company;
            
    }

            return 
    $arrMember;
        } 
    Kann mir jemand einen Tipp geben, durch welche Funktion ich die Daten jagen muss, sodass ich was brauchbares heraus bekomme?

    Gruß

    Marcel
    C O N T A O - Was will man mehr?
    Projekt: www.zwickau-crossen.de

  7. #7
    Contao-Fan Avatar von Wichteldesign
    Registriert seit
    23.06.2009.
    Ort
    Nürtingen
    Beiträge
    353

    Standard

    Zitat Zitat von mccrossen Beitrag anzeigen
    Ich dachte auch eher das serialisierte Daten so z. B. ein Array aussehen: "a:2:{s:4:"unit";s:2:"km";s:5:"value";s:3:"1.5";}" .
    So sollte es auch in der Datenbank stehen. Für mich sieht das nach einem Problem Richtung Db aus,
    Besten Gruß, Felix Peters
    Wichteldesign // Github // @wichteldesign // @el_wichtel

  8. #8
    Contao-Nutzer
    Registriert seit
    23.11.2009.
    Ort
    Zwickau
    Beiträge
    50

    Standard

    In den Modulen tl_member funktioniert es ja irgendwie, dort werden die Daten richtig verarbeitet. Ich finde aber nicht wie das Modul "foreignKey" die Daten verarbeitet.
    C O N T A O - Was will man mehr?
    Projekt: www.zwickau-crossen.de

  9. #9
    Contao-Nutzer
    Registriert seit
    23.11.2009.
    Ort
    Zwickau
    Beiträge
    50

    HTML

    Hi,
    na ich bin auch eine Bockwurst.
    Schaut euch mal den SQL-Query an. Wird da auch "groups" mit abgefragt? NEIN

    Das war die Lösung, jetzt kommt auch eine Ausgabe.

    Hier noch mal meine finale Lösung:

    PHP-Code:
    class sur_verwalter extends tl_calendar_events
    {
        
    /**
         * Get all forms and return them as array
         * @return array
         */
        
    public function getVerwalter()
        {
            
    $arrMember = array();
            
    $objMember $this->Database->execute("SELECT id, company, groups FROM tl_member ORDER BY company");

            
    $arrMember[0] = "";
            
            while (
    $objMember->next())
            {
            
    $sur_groups unserialize($objMember->groups);

            if(
    in_array(1,$sur_groups))
                    {
                    
    $arrMember[$objMember->id] = $objMember->company;
                    }
            }
            return 
    $arrMember;
        }

    Vielen Dank für eure Hilfe

    Gruß

    Marcel
    Geändert von mccrossen (16.12.2010 um 18:01 Uhr)
    C O N T A O - Was will man mehr?
    Projekt: www.zwickau-crossen.de

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Neue Mitglieder autom. Gruppe zuweisen
    Von vanHeelsing im Forum Geschützte Bereiche/Mitglieder
    Antworten: 3
    Letzter Beitrag: 15.06.2020, 20:13
  2. Antworten: 3
    Letzter Beitrag: 08.02.2011, 19:18
  3. Mitglieder einer Gruppe anzeigen
    Von mctimotheus im Forum Benutzer/-gruppen
    Antworten: 5
    Letzter Beitrag: 06.01.2011, 14:19
  4. Mitglieder-Daten in Frontend-Gruppe einordnen
    Von misc im Forum Geschützte Bereiche/Mitglieder
    Antworten: 3
    Letzter Beitrag: 18.12.2009, 09:29
  5. Mitglieder bei registrierung einer Gruppe zuordnen?
    Von Lions_Den im Forum Geschützte Bereiche/Mitglieder
    Antworten: 5
    Letzter Beitrag: 18.09.2009, 15:49

Lesezeichen

Lesezeichen

Berechtigungen

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