Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHPBB3] - mechanizm nieprzeczytanych postów
Forum PHP.pl > Forum > PHP
maniutek08
Witam

Już na wstępie zaznaczam przeczytałem kilka pomysłów na na rozwiązanie tego problemu (sam zastosowałem sposób na generowaniu pokazywania nowych newsów na podstawie daty ostatniej akcji użytkownika)..

Moje pytanie dotyczy mechanizmu jakiego użyli w phpbb3. Może ktoś wie jak to tam działa. Nie jest sposób o którym pisałem powyżej, z tego co zauważyłem bazuje na dwóch tabelach: phpbb_forum_tracks i phpbb_topic_tracks.. O ile w phpbb_forum_tracks rekordy które tam się pojawiają są dla mnie zrozumiałe (tam pojawiają się rekordy przeczytanych! for, oraz aktualizacja czasu) o tyle nie wiem co ma sie znajdować w phpbb_topic_tracks ;/ Piszę nowe tematy loguję się jako inny użytkownik i widzę na forum że mam oznaczony nieprzeczytany temat lecz phpbb_topic_tracks dalej jest puste... Kiedyś udało się że znalazł się tam jakiś rekord.. tylko teraz nie mogę z powrotem wywołać tego zdarzenia żeby zrozumieć jak to działa..

W sieci znalazłem coś takiego, lecz nie wiele mi to dało : http://wiki.phpbb.com/Table.phpbb_topics_track
freemp3
Z tego co pamiętam i tego co pisze na stornie którą podałeś są tam zapisywane informacje odnośnie wizyt użytkownika w tematach(id użytkownika, id tematu, id forum w którym jest temat oraz informacje kiedy użytkownik przeczytał dany temat), czyli działa dokładnie tak jak phpbb_forum_tracks. Więc nie zobaczysz tam wpisu po dodaniu tematu ale dopiero jeśli jakiś użytkownik przeczyta ten temat.
maniutek08
hm no dobrze.. ale to będzie generowało tyle rekordów ile użytkowników x przeczytane tematy ...
hmm to w sumie zawsze mniej niż trackowanie osobnych postów.. smile.gif
freemp3
Niestety nie znam dokładnego działania tego mechanizmu. Z tego co mnie pamięć nie myli to można gdzieś w PA ustawić maksymalny czas traktowania tematu/postu jako nowy. Po tym czasie zapewne temat/post jest traktowany jako przeczytany i nie ma potrzeby zapisywania informacji w bazie danych więc możliwe, że przestarzałe dane są usuwane. Przynajmniej tak mi się wydaje smile.gif
maniutek08
Wiesz zrobiłem test.. napisałem jakiś temat i zalogowałem się jako inny użytkownik i oczywiście zobaczyłem czerwone ikonki (ze mam nie przeczytany temat) no i wszedłem tego tematu ale rekord w phpbb_topic_tracks się nie pojawił.. jedyne co się zrobiło to zaktualizował się czas przeczytanego forum w phpbb_forum_tracks..

Coraz bardziej mi świta że tematy nie pojawiają się tam jeśli samo forum zostało odczytane i czas zamarkowany.. Tylko nie wiem w jakiej sytuacji w tabeli phpbb_topic_tracks rekordy tematów powinny się pojawić..
freemp3
Hmm... fakt dziwnie to działa. Z tego co pisze na stronie którą podałeś jest to tylko jedna z tabel na podstawie której są pobierane informacje o tym czy temat ma nieprzeczytane posty czy też nie.
Działa to na takiej zasadzie, że jest tam informacja o przeczytanych tematach, ale tylko w tedy jeśli nie wszystkie tematy z danego działu zostały przeczytane. Jeśli wszystkie tematy z działu zostały przeczytane w tedy wpisy z tej tabeli są usuwane i jest aktualizowana tabela phpbb_forum_tracks.
Trochę to zagmatwane, ale wydaje się dobrym rozwiązaniem.
maniutek08
Też właśnie ten sposób mi przychodzi do głowy że to właśnie tak jest realizowane..
no nic wystarczy to teraz przetestować, zastosuje to na swoim forum które sam napisałem biggrin.gif:D
o efektach na pewno napiszę wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.