PDA

Zobacz pełną wersję : Informacja z profilu użytkownika VirtueMart



vwbigfan
05-01-2013, 10:46
Witam!


Posiadam stronę na której wszyscy użytkownicy mają przypisaną pewną liczbę tzw. liczbę punktów nieaktywnych. Oczywiście każdy uzytkownik ma inną wartość takich punktów lub nie ma ich wcale. Do tej pory wartość tych punktów znajdowała się w profilu użytkownika Virtue Mart. Zrobiłem dodatkowe pole w profilu które można zapisać tylko z poziomu administratora. Teraz chciał bym aby taka informacja (o ilości punktów nieaktywnych) znalazła się na stronie po zalogowaniu się użytkownika. I tutaj pojawia się moje pytanie: czy istnieje jakiś moduł który pomógł by mi wyświetlić informacje o profilu użytkownika VM? Lub ewentualnie czy istnieje inna droga aby moduł wyświetlał informację z bazdy danych VM?

Pozdrawiam i z góry dziękuje pomoc.

ugly kid joe
05-01-2013, 11:30
dopisać to w module logowania vm ?

w zasadzie najlepiej jest napisać od podstaw własny moduł logowania j!, zakładając, że moduł będzie agregował jakieś dane z innych komponentów, typu : punkty czy inne o charakterze osobistej aktywności użytkownika w witrynie.

vwbigfan
05-01-2013, 17:40
Próbuję to zrobić teraz przez Community Builder ponieważ tam również można dodać dodatkowe pola a po za tym - moduł logowania na mojej stronie jest właśnie modułem z CB.


Stwierdziłem że zrezygnuję całkowicie z tzw. Powitania i zastąpie standardowy tekst właśnie danymi z pola dodatkowego.


Znalazłem kod gdzie pobierana jest nazwa użytkownika do wyświetlenia. Chciał bym zmienić tę zmienną na informację pobraną z bazy danych - czyli pole dodatkowe które utworzyłem.

Oto ten kod:




if ($name) {

if ($name == 2) {

$query = "SELECT firstname FROM #__comprofiler WHERE id = ". (int) $_CB_framework->myId();

} else {

$query = "SELECT name FROM #__users WHERE id = ". (int) $_CB_framework->myId();



Mój problem polega na tym że nie wiem jak to zapisać aby pobierało informację nie nie z kolumny dnaej tabeli lecz z jej wiersza.




if ($name) {

if ($name == 2) {

$query = "SELECT firstname FROM #__comprofiler WHERE id = ". (int) $_CB_framework->myId();

} else {

$query = "SELECT name FROM #_comprofiler_fields WHERE id = ". (int) $_CB_framework->myId();




Jeżeli to tak zostawię to wyświetli się tylko nazwa pola dodatkowego a ja chcę uzyskać wartość z tego pola. Próbowałem też posiłkować się modułem Random User gdyż ma on funkcję która pozwala na wyświetlanie pól dodatkowych ale niestety nie znalazłem (lub też nie umiem - co bardziej prawdpodobne) żadnej przydatnej informacji.