Frontend-Editing nur für bestimmte Mitgliedergruppen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Timo29
    Contao-Nutzer
    • 12.11.2009
    • 73

    #16
    Hi Jared,

    ich blicke gerade nicht so ganz durch, aber ist Dein Problem mit dem Link schon gelöst? Wenn nicht hätte ich noch einen Tip für Dich. (wenn ich Dich überhaupt richtig verstehe)

    Im Template fügst Du einfach noch eine Abfrage ein, ob die Person auch der richtigen Gruppe angehört. Ansonsten zeigt er den Link nicht an:

    PHP-Code:
    if (FE_USER_LOGGED_IN) {
        $this->import('FrontendUser', 'Member');
        $memberGroups = $this->Member->groups;
                  
        if ($memberGroups[0] == 2) { // ID DEINER GRUPPE
            DEIN LINK...
        } 
            
    } 
    
    Damit brauchst Du nur eine Liste und ein Template...

    Hab ich Dich überhaupt richtig verstanden???

    Gruß Timo

    Kommentar

    • andreasisaak
      Contao-Urgestein
      • 07.07.2009
      • 4107

      #17
      Zitat von Timo29 Beitrag anzeigen
      Hi Jared,

      ich blicke gerade nicht so ganz durch, aber ist Dein Problem mit dem Link schon gelöst? Wenn nicht hätte ich noch einen Tip für Dich. (wenn ich Dich überhaupt richtig verstehe)

      Im Template fügst Du einfach noch eine Abfrage ein, ob die Person auch der richtigen Gruppe angehört. Ansonsten zeigt er den Link nicht an:

      PHP-Code:
      if (FE_USER_LOGGED_IN) {
          $this->import('FrontendUser', 'Member');
          $memberGroups = $this->Member->groups;
                    
          if ($memberGroups[0] == 2) { // ID DEINER GRUPPE
              DEIN LINK...
          } 
              
      } 
      
      Damit brauchst Du nur eine Liste und ein Template...

      Hab ich Dich überhaupt richtig verstanden???

      Gruß Timo
      Danke dir Timo, genau das habe ich gesucht.
      Es funktioniert wunderbar - ich wusste noch nicht das man via Import solche Funktionen in das Template importieren kann.

      Aber eine Zuordnung habe ich noch nicht verstanden:

      PHP-Code:
      $memberGroups[0] == 2 
      
      Die 2 ist ja die ID, die hole ich mir aus der DB. Aber wie kommt die 0 zustande? Bei mir ist es eine 4, bevor ich das rausgefunden habe musste ich mir erstmal mit print_r die ganzen memberGroups ausgeben lassen. Gibt es da eine sinnvolle Zusammensetzung der beiden Ziffern die ich beim nächsten Mal gedanklich anwenden kann?

      LG

      Kommentar

      • andreasisaak
        Contao-Urgestein
        • 07.07.2009
        • 4107

        #18
        @Timo

        Wie ich dir ja bereits geschrieben habe, war in dem Codeschnippsel doch noch ein kleiner Fehler. Und zwar ändert sich die Zuordnerung der Membergroups von User zu User. So hat der Code bei mir funktioniert, bei meinen Kollegen nicht.

        Am besten tauscht man folgende Zeilen

        PHP-Code:
        $memberGroups = $this->Member->groups;
        if ($memberGroups[0] == 2) 
        
        gegen diese aus

        PHP-Code:
        if ($this->Member->isMemberOf(1)) 
        
        Dieser Code ist etwas kürzer und funktioniert auch bei vielen FE-Usern :-)

        Kommentar

        • Timo29
          Contao-Nutzer
          • 12.11.2009
          • 73

          #19
          oh cool, vielen Dank für die Info! :-)
          Das ist wirklich einfacher!

          Kommentar

          Lädt...