Ich versuche, einem Benutzer, der Mitglied einer Gruppe geworden ist, eine Benutzerrolle hinzuzufügen. Der Workflow sieht folgendermaßen aus:
- Benutzeranfragen zum Beitritt zur Gruppe.
- Die Anforderung wird vom Gruppenadministrator genehmigt.
- Der Benutzer ist Mitglied der Gruppe.
- Benutzer erhält eine zusätzliche Rolle.
Ich habe versucht, eine Regel zu erstellen, die dies ermöglicht, aber obwohl alle Einstellungen nach dem Beitritt zur Gruppe korrekt erscheinen, erhält der Benutzer keine zusätzliche Rolle. Unten sehen Sie einen Screenshot meiner Regeleinstellungen:
rules
organic-groups
rroose
quelle
quelle
Antworten:
Jetzt wird Ihre Regel ausgeführt, nachdem der Benutzer die Mitgliedschaft angefordert hat. Sie sollten es jedoch ausführen, nachdem die OG-Mitgliedschaft genehmigt wurde.
Ich habe eine Regel vorbereitet, die die Rolle "Mitglied" hinzufügt, nachdem die Mitgliedschaft genehmigt wurde oder wenn sie vom Administrator hinzugefügt wurde (automatisch genehmigt). Hier ist der Export (
4
ist die ID meiner Drupal-Rolle "Mitglied"):Bildschirmfoto:
Tipp: Sie können das Debuggen von Regeln (Seite
admin/config/workflow/rules/settings
) aktivieren, um zu sehen, wann Ihre Regeln ausgeführt werden.quelle
Ich habe das gleiche Problem (deshalb habe ich ein Kopfgeld gestartet).
Ich habe es so gelöst.
Ich habe einem benutzerdefinierten Modul eine Funktion hinzugefügt. Sie können einfach Ihr eigenes Modul erstellen, indem Sie in / sites / all / modules einen neuen Ordner mit zwei Dateien erstellen:
yourname_module.info - >>
yourname.module
Gehen Sie dann zu Ihren Modulen und aktivieren Sie "Benutzerdefinierte Funktionen".
Stellen Sie sicher, dass Sie den benutzerdefinierten PHP-Code des Moduls aktiviert haben.
Fügen Sie dann anstelle der Aktion Benutzer zur Rolle in Regeln hinzu, fügen Sie Folgendes hinzu: Führen Sie einen benutzerdefinierten PHP-Code aus und geben Sie Folgendes ein:
Dadurch wird der Benutzer zur Rolle hinzugefügt und das Skript gestoppt. Wenn Sie das Skript nicht stoppen, wird die Rolle nicht gespeichert. Und ich musste ein Modul hinzufügen, da
user_save
es bei der Ausführung in nicht funktioniertcustom php code
.Ich weiß, dass es sehr hässlich ist, aber es funktioniert bei mir.
quelle
Welche Version von OG führen Sie aus?
Dies ist ein bekannter Fehler, der mit Organic Group 2.4+ behoben wurde ( siehe Fehlerseite ).
Wenn Sie bereits eine Version 2.3 oder niedriger von OG ausführen, sollte das Updgrate unkompliziert sein. Wenn Sie OG 1.x ausführen, finden Sie weitere Details zum Aktualisierungsprozess von OG 1.5 auf 2.4+
quelle