PDA

Zobacz pełną wersję : Różnice w dacie artykułu i komentarzy



Jola
08-11-2009, 09:32
Od jakiegoś czasu pojawiają się pytania co zrobić żeby data napisania artykułu i komentarze wyświetlane były "z tego samego klucza".
Przy prawie jednoczesnym zapisaniu artykułu i dodaniu komentarza pojawia się różnica 1 godziny lub więcej. Skąd takie zamieszanie?

Otóż reguła jest taka:
- wszystkie artykuły zapisywane są w czasie Greenwich, bo do zapisywania aktualnego czasu służy funkcja: gmdate()
- ustawianie Strefy czasowej w Konfiguracji witryny służy wyłącznie wyświetlaniu daty.
- można to łatwo sprawdzić przeglądając artykuł, jeśli zmienimy w konfiguracji strefę czasową to wszystkie daty związane z powstaniem artykułu zmienią się zgodnie z przesunięciem czasu (wyczyścić cache).
- Tak więc na, to jakie daty widzimy przy artykule, decydujący wpływ ma strefa czasowa.
Komentarze
- inne komponenty Joomla do zapisywania daty powstania wpisu często używają funkcji date() (czas miejscowy) dodając w jej parametrach przesunięcie daty o strefę czasową.
Przykładowo dzisiaj:
Strefa czasowa: UTC 00:00
gmdate() : 7:00:00 -artykuł
date() : 8:00:00 - komentarz
Co zrobić żeby wszystkie informacje były spójne?
Zapisywać artykuły w miejscowym czasie i ustawić strefę czasową na: UTC 00:00.
Plik: libraries/joomla/utilities/date.php linia 56 zamienić

$this->_date = strtotime(gmdate("M d Y H:i:s", time()));na

$this->_date = strtotime(date("M d Y H:i:s", time()));Nie zmieni to istniejących wpisów ale znormalizuje nowe.

yoshi
12-05-2011, 18:20
Witam,
Trafiłem na ten temat, bo miałem problem z poprawnym wyświetleniem daty artykułu i daty jego poprawienia (data poprawienia artykułu była wcześniejsza od daty napisania). Zrobiłem tak jak napisałaś, ale z kolei inne moduły mi się trochę rozjechały. Mianowicie joomla_watch pokazuje odwiedziny według czasu ze strefą czasową. Więc przy ustawieniach te które są podane wyżej, miałem odwiedziny o godzinę spóźnione.
Joomla 1.5.23.
Jak można to wszystko znormalizować, żeby było całkowicie spójne?
Pozdrawiam

Jola
14-05-2011, 00:41
Jak ustawiłeś strefę czasową w Joomla?
Co to za moduł joomla_watch, jakiś adres.

yoshi
14-05-2011, 14:25
Strefa czasowa w Joomla to UTC 00:00
Link do joomlawatch: http://www.codegravity.com/projects/joomlawatch
Dodatek do pokazywania wejść na stronę. Skąd, kto, jakie IP, państwo itp. Bardzo rozbudowane statystki.

Jola
14-05-2011, 23:43
Przykro mi nie będę zakładać kolejnego konta żeby podejrzeć jak wygląda kod rozszerzenia.

Dza
19-08-2012, 12:51
Jola, masz rację.