PDA

Pogčedajte punu verziju : Formatiranje


Pedja
20. 05. 2006., 09:40
Razmisljam nesto o formatiranju datuma i brojeva. Bar sam na to naisao kao problem.

Po logici stvari, formatiranje spada u prezentacioni deo posla ali CSS ne sadrzi mogucnost da se kroz njega nesto tako uradi (ili bar ja ne znam za to).

Kako sada stvari stoje, format broja i datuma ipak moramo da radimo u aplikativnom delu.

Kako vi to resavate (osim template sistemima)?

ivanhoe
20. 05. 2006., 11:33
pa u svetu xml to zaista moze da se odradi sa XSLT-om... mada to je sve mnogo high level jos uvek, ja datum formatiram obicno na server-strani, tako mi je lakse i sigurnije...

kodi
20. 05. 2006., 13:25
^same here, datum u tabelama obichno drzim u (unix)timestamp formatu, a posle po potrebi formatiram.

bluesman
20. 05. 2006., 15:25
I meni se to pokazalo kao najprakticnije, a onda koristim nesto tipa echo format_date ($timestamp) koja formatira i ispisuje datum.

Ilija Studen
20. 05. 2006., 15:34
Formatiranje pripada prezentaciji, ali možeš da ga odradiš i na server (i aplikacije imaju "prezentacione slojeve") i na klijent strani s tim da je server strana znatno jednostavnija. Na klijent strani možeš da koristiš JS za transforamciju i prikaz datuma koji je aplikacija printala u nekom od standardnih fomata.

Nekako mi čudno zvuči koristiti CSS za tako nešto. Čak i sama ideja...

jablan
22. 05. 2006., 10:27
Ovaj... ne znam koliko će ti koristiti odgovor nekog iz .NET tabora, ali neće da se baci...

XSL je bulja za veb generalno, a o datumima da i ne pričamo. Jednostavno, XSL ne poseduje funkcije za baratanje datumima, kamoli lokalizaciju. I ostatak funkcija (za stringove, brojeve itd) je jadan, ali o tom drugom prilikom. Na stranu to što je XSL dosta zaheban za programiranje prosečnom programeru.

.NET ima mogućnost sličnu PHP templejtima - tzv. veb kontrole koje možete "bindovati" na neki izvor podataka. Izvor podataka može biti npr. dataset vraćen iz baze, kolekcija XML nodova ili jednostavno neka vaša kolekcija nekih poslovnih objekata (tipa kolekcija postova na nekom blogu koji pravite).

Na određena mesta u HTML-u vi umećete propertije članova kolekcije podataka. U slučaju da je u pitanju datum (npr. vreme posta), njega .NET automatski formatira na "culture" trenutnog thread-a (koji je opet vezan za korisnika, tj. sesiju). Culture je objekat koji sadrži info o tome kakav treba da bude format dugog i kratkog datuma itd. On se može generisati na osnovu jezičkog podešavanja koje korisnik ima u brauzeru, ili pokupiti iz korisničkih podešavanja, npr. iz baze.

Dakle, jednom kad se za korisnika generiše Culture i dodeli trenutnom tredu, svi prikazani datumi na stranici se uklapaju u željeno formatiranje.

Pedja
22. 05. 2006., 12:20
Dakle, jednom kad se za korisnika generiše Culture i dodeli trenutnom tredu, svi prikazani datumi na stranici se uklapaju u željeno formatiranje.

Upavo na to mislim. U stil teksta poerd fonta, velicine, i ostalih parametara za definiciju izgleda, spada i formatiranje. Zbog toga i mislim da to treba da bude definisano upravo kroz stil.

jablan
22. 05. 2006., 12:26
Čekaj, jel pričaš o sadašnjoj situaciji ili o tome šta bismo voleli?

CSS trenutno pojma nema šta se nalazi u sadržaju tagova, a kamo li da ima pojma o datumima. Takođe, CSS sam po sebi ne podrazumeva kastomizaciju "po korisniku" - deo bi opet morao da radiš na aplikativnom nivou da bi različitim korisnicima servirao različit CSS. Tako da, ono... "I tata bi sine..."

ivanhoe
22. 05. 2006., 15:40
XSL je bulja za veb generalno, a o datumima da i ne pričamo. Jednostavno, XSL ne poseduje funkcije za baratanje datumima, kamoli lokalizaciju. I ostatak funkcija (za stringove, brojeve itd) je jadan, ali o tom drugom prilikom. Na stranu to što je XSL dosta zaheban za programiranje prosečnom programeru.

Ja sam spomenuo XSLT kao varijantu da se nesto uradi na klijentskoj strani (bar u IE, ne znam da li FF podrzava xslt). XSL nema ugradjene funkcije za datume specificno, ali omogucava generalno baratanje i transformacije xml-a u bilo sta, tako da nije problem da se datum ispise u zeljenom formatu ako je u XML prikazan kako treba. Nije bas super jednostavno to napisati, ali kad se jednom napise osnova, promena formata datuma bi bila dovoljno prosta...

ali naravno ovo je cisto teorijsko razmatranje, jer je mnogo pratkicnije to raditi na serveru, setujes format jednom, i ne razmisljas previse.. Imalo bi smisla za lokalizaciju statickih dokumenata, tipa podataka u knjigama i slicno.