Belépéskor a felhasználót betenni egy csoportba.

edgarpe képe

Roppant egyszerű dolgot szeretnék, és nem találom a megfelelő hook-ot. Mindössze annyi kellene nekem, hogy amikor egy felhasználó bejelentkezik, akkor a kódban nézzem meg a $user objektumot és ha bizonyos dolgok teljesülnek, akkor tegyem őt be egy adott felhasználói csoportba az adott session-re.

A hook_user_load és hook_user_login hookokat néztem, de ezekkel nem megoldható. (Vagy nagyon béna voltam.)

Főleg Drupal 7 alatt érdekes mindez, de a 6-osra is érdekel a válasz.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
szantog képe

2 lehetőség:
hook_user_login/logout alatt updateled a user_roles táblát. Ekkor a következő user_load már magától a te role-odat is berántja.

A másik, amit ilyenkor szoktak más modulok, a hook_initben bűvészkedés. Nézd meg a masquerade és az og_user_roles modulokat. Ez utóbbi egyébként nem a legszebb megoldás, amikor egy éve dolgoztam vele, elég sokat dumáltunk róla ircen. Igazából azóta sem tudom, hogyan lehetne ilyen kifinomultan akár oldalankénti role kezelést megvalósítani.

A masquerade ahogy nézem, elég szépen dolgozik. Ő saját session változót indít, és azzal (is) dolgozik hook_initben.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

edgarpe képe

THX, megnézem a két ajánlott modult. A hook_init()-re valahogy nem gondoltam. Amikor csak lehet próbálom elkerülni a használatát, de ha nem lehet, akkor meg jól jön.

0
0