PDA

Zobacz pełną wersję : menu uzależnione od typu zalogowanego użytkownika



mikes
28-01-2009, 22:05
Witam,
mam mniej więcej taki problem.

Mianowicie, mój serwis ma służyć zarówno studentom, jak i wykładowcom.
Oprócz standardowej tabeli #__users, mam również tabele #_my_students i #_my_cadre. Podczas logowania musi nastąpić sprawdzenie kto się zalogował i pokazać odpowiednią część menu. Tyle, że w przypadku kadry mają pokazać się 2 kierunki studiów, natomiast po zalogowaniu studenta, ma pokazać się tylko menu z jego własnym kierunkiem studiów (na który uczęszcza).

Może mi ktoś pomoc, jak mam tego dokonać, bo nie jestem niestety jeszcze za bardzo obyty z joomlą. Głównie chodzi mi o to gdzie dodać jakieś warunki do menu.

Pozdrawiam i z góry dzięki za jakąkolwiek pomoc

hesar
28-01-2009, 22:30
a to ciekawy problem :)
podejrzewam ze mod_menu odpowiada za wyswietlanie menu i pewnikiem jest tam kawlaek kodu walidujacy poziom usera - niestety teraz nie moge tego sprawdzic ale moze jutro w pracy pogrzebe chwile :)

wojtekkk87
29-01-2009, 22:55
Do tego nie potrzebujesz programowania... bo musiałbyś swoje moduły menu robić albo w templatce w kodzie wpisywać warunki... najlepiej poczytaj o tym:
http://www.brandonitconsulting.co.uk/mod_metamod/ a potem daj znać jak poszło ;)

mikes
07-02-2009, 22:14
Próbowałem zainstalować ten komponent, ale przy instalacji wyskakują jakieś byki.

Ale nieważne, teraz mam inny problem związany z podzieleniem linków pomiędzy kadrą, a studentami.

Zrobiłem taką rzecz, dorobiłem sobie 2 grupy w tabeli usertypes: student i cadre i przypisałem ich do moich użytkowników.
Dodatkowo dorobiłem te same grupy w tabeli groups, które to łączą się tworząc liste dostępową - access, połaczyłem wszystko chyba dobrze w tabelkach tych z gatunku core.

Także po zalogowaniu studenta w zmiennej $my->usertype mam 'Student', a w przypadku kadry 'Cadre'. Ustaliłem również odpowiednie access'y do konkretnych linków w menu, jeden odpowiadający kadrze, drugi - studentom. Ale joomla mi tego widzi i właśnie nie wiem dlaczego.

EDIT:
Jeszcze jedna sprawa, o której zapomniałem napisać.
Przy dodawaniu nowego komponentu, mam wszystkie grupy, tj: Public, Register, Special, Cadre, Student. Ale w istniejących komponentach nie mogę na te nowe grupy przełączyć. Próbowałem dopisywać nowe warunki, odpowiednie dla moich nowych grup w pliku: /includes/joomla.php do mosCommonHTML::AccessProcessing, ale wówczas pokazują mi się właściwe grupy, ale nie mogę ich wogóle zmieniać.



} else if($row->access == 3) {
$color_access = 'style="color: yellow;"';
$task_access = 'accesscadre';
} else if($row->access == 4) {
$color_access = 'style="color: blue;"';
$task_access = 'accessstudent';
} else {


Może macie jakiś pomysł, który by mi mógł pomóc
Z góry dzięki - pozdrawiam

hesar
07-02-2009, 23:18
hmm - ciezka sprawa zgadnac co moze byc nie tak
jedyna opcja to usiasc przy stronce i sobie debugowac ja wypluwajac istotne zmienne w module menu zeby zobaczyc czy nie popelniles jakiegos banalnego bledu przypadkiem