Ergebnis 1 bis 6 von 6

Thema: Inhalt je nach Mitgliedergruppe in dca definieren

  1. #1
    Contao-Nutzer
    Registriert seit
    15.07.2009.
    Beiträge
    15

    Standard Inhalt je nach Mitgliedergruppe in dca definieren

    Hi,

    ich habe ein Problem, bei dem ich einfach nicht weiter weiß.

    Folgendes:

    Ich habe eine Modul, dass im Frontend für die Nutzer eine Dropdown-Auswahl zur Verfügung stellt. Diese Liste wird momentan über folgendes im dca befüllt:
    PHP-Code:
    'options'        => MemberTopics::getTopics() 
    In der Klasse MemberTopics steht folgendes drin:
    PHP-Code:
    public static function getTopics()
        {
            
    $specialtopics = array(
                
    'A',
                
    'B'
            
    );
    return 
    $specialtopics;

    Das funktioniert wunderbar, nun meine Frage: Ich wollte für zwei verschiedene Mitgliedergruppen unterschiedlichen Inhalt angeben und dort in der Klasse die Gruppe abfragen und dann den passenden Inhalt ausgeben.
    Wenn ich aber versuche, auf die Mitgliedergruppe des eingeloggten Mitglieds zuzugreifen, z.B. über
    PHP-Code:
    $this->User->groups
    sagt er mir leider das: "Using $this when not in object context"

    Hättet ihr eine Idee, wie's richtig funktioniert?

    Besten Dank & lG,
    tobo

  2. #2
    Contao-Fan Avatar von deerwood
    Registriert seit
    24.11.2009.
    Ort
    Hamburg
    Beiträge
    344

    Standard

    Moin tobo,

    Zitat Zitat von tobo Beitrag anzeigen
    PHP-Code:
    'options'        => MemberTopics::getTopics() 
    ... Klasse MemberTopics ...
    Kurze Antwort. "STATIC in OO is evil" (habe leider gerade keine Zeit, passende Links anzubieten)!

    Dein Problerm hat damit zu tun: TL hat (fast) keine statischen Methoden (auch wenn einige so erscheinen mögen) ... und die Member befinden sich in einer Objekt-Variablen.

    Aber, insbesondere, wenn Du ausdrücklich via "MyClass::MyStaticMethod" zugreifst, dann KANN kein $this existieren, oder? Weil es kein/e Objekt/Instanz der Klasse gibt. Oder habe ich etwas missverstanden?

    LG, Georg

  3. #3
    Contao-Nutzer
    Registriert seit
    15.07.2009.
    Beiträge
    15

    Standard

    Hey deerwood,
    ja ist richtig..

    Leider fällt mir gerade keine Lösung ein, wüsstest du da noch etwas?

    LG, tobo

  4. #4
    Gesperrt
    Registriert seit
    22.07.2009.
    Ort
    Dortmund, NRW
    Beiträge
    113

    Standard

    Es gibt dafür extra ein callback.
    PHP-Code:
    'options_callback'                      => array('someclass''somemethod'
    statt options schreiben und schon kannst du weiterarbeiten. Somemethod wird automatisch ein Datacontainer übergeben, mit dem du beispielsweise über

    PHP-Code:
    class someclass extends Backend {
       public function 
    somemethod($dc) {
          
    $dc->id;
       }

    die id des Datensatzes bekommst.

    MFG Jan

  5. #5
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.614
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das vorgehen von Jan ist korrekt (options_callback). Nur zur Vollständigkeit, du könntest das Mitglied trotzdem kriegen:

    PHP-Code:
    $objUser BackendUser::getInstance(); 
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  6. #6
    Contao-Nutzer
    Registriert seit
    15.07.2009.
    Beiträge
    15

    Standard

    Es ging zwar um die Frontend-Nutzer, aber so wie ihr es beschrieben habt, ging es wunderbar!

    Vielen Dank!

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 30.06.2010, 13:47
  2. Mitgliedergruppe bei Registrierung wählbar machen
    Von Maik im Forum Geschützte Bereiche/Mitglieder
    Antworten: 3
    Letzter Beitrag: 05.02.2010, 07:34
  3. Abfrage Mitgliedergruppe
    Von 1stof8 im Forum xtmembers
    Antworten: 8
    Letzter Beitrag: 02.02.2010, 08:50

Lesezeichen

Lesezeichen

Berechtigungen

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