Próbuję dodać rolę użytkownika do użytkownika, który stał się członkiem grupy. Przepływ pracy wygląda następująco:
- Prośby użytkownika o dołączenie do grupy.
- Żądanie jest zatwierdzane przez administratora grupy.
- Użytkownik jest członkiem grupy.
- Użytkownik otrzymuje dodatkową rolę.
Próbowałem stworzyć regułę, która byłaby w stanie to zrobić, ale chociaż wszystkie ustawienia wydają się prawidłowe po dołączeniu do grupy, użytkownik nie otrzymuje dodatkowej roli. Zobacz zrzut ekranu moich ustawień reguł:
rules
organic-groups
różyczka
źródło
źródło
Odpowiedzi:
Teraz twoja reguła działa, gdy użytkownik poprosi o członkostwo. Ale powinieneś uruchomić go po zatwierdzeniu członkostwa w OG.
Przygotowałem Regułę, która dodaje rolę „członek” po zatwierdzeniu członkostwa lub jeśli został dodany przez administratora (automatycznie zatwierdzony). Oto eksport (
4
jest to identyfikator mojej drupalnej roli „członka”):Zrzut ekranu:
Wskazówka: możesz włączyć debugowanie reguł (stronę
admin/config/workflow/rules/settings
), aby zobaczyć, kiedy reguły są wykonywane.źródło
Mam ten sam problem (dlatego zacząłem nagrodę).
Rozwiązałem to w ten sposób.
Dodałem funkcję do niestandardowego modułu. Możesz w prosty sposób utworzyć własny moduł, tworząc nowy folder w / sites / all / modules z dwoma plikami:
twój_moduł.info - >>
nazwa_modułu
Następnie przejdź do modułów i włącz „Funkcje niestandardowe”.
Upewnij się, że masz włączony moduł niestandardowego kodu php.
Następnie zamiast akcji dodaj użytkownika do roli w regułach, dodaj: uruchom niestandardowy kod php i wpisz:
To dodaje użytkownika do roli i zatrzymuje skrypt. Jeśli nie zatrzymasz skryptu, rola nie zostanie zapisana. I musiałem dodać moduł, ponieważ
user_save
nie działa po uruchomieniucustom php code
.Wiem, że to jest bardzo brzydkie, ale działa dla mnie.
źródło
Którą wersję OG prowadzisz?
Jest to znany błąd, który został naprawiony w Organic Group 2.4+ ( patrz strona błędu ).
Jeśli korzystasz już z wersji OG 2.3 lub nowszej, aktualizacja powinna być prosta. Jeśli korzystasz z OG 1.x, możesz znaleźć więcej szczegółów na temat procesu aktualizacji z OG 1.5 do 2.4+
źródło