Aktuální příspěvky na fóru
- Tomik
- Nette Evangelist | 485
Řešil jsem jak odebírat nejnovější příspěvky na fóru. Používal
jsem funkci
Zobrazit nové příspěvky od poslední návštěvy
– jenže
ta, pokud chodím na více fór z rodiny Nette, dibi, Texy, nefunguje – viz
http://forum.php7.org/…e-komponenta.
Používal jsem (a používám) tedy RSS – jenže! :) – tam může být např. 120 nových příspěvků, ale pouze 10 nových témat – každé po 12 příspěvcích, přesto že tam je poměrně malé množství informací, člověk, aby mu něco neunisklo musí projít všech 120 unread položek v RSS. To podle mě není ideální.
Sedl jsem si a za chvilku sesmolil takový jednoduchý parser: http://tomik.jmx.cz/etc/nette … Dělá to jen to, že to vezme posledních (hodně) příspěvků z RSS fóra, rozparsuje a odebere duplicity (tudíž, je-li tam z nějakého tématu 40 příspěvků, téma se stejně zobrazí pouze jednou). Nejnovější příspěvky jsou vždy nahoře. Zatím se nedají nijak skrýt přečtené, či tak. Ale pokud odkaz otevřete, označí se jako přečtený, je pak vizuálně vidět, kde jsem byl, a kde ne.
Čeština je tam pěkně debilní, vím o tom, parsuju to PHP xml_parserem a ten má jistý bug – asi tenhle http://bugs.php.net/bug.php?… – že mu dělá problém rozparsovat UTF-8 soubor s diakritikou (zatím to řeším transliterací – je to prasárna, ale funguje – kdyby někdo věděl, jak to opravit, dejte vědět).
Tož tak, třeba se to někomu bude hodit.
Když bude zájem, třeba to ještě nějak vylepším (na ajax je vždy prostor :).
P.S.: Je tam dvouminutová keš, tzn. příspěvky se zobrazují s max. 2 minutovým zpožděním, zato se to ale dá používat – čekat několik vteřin na sparsování xmlka je opravdu oprus.
Editoval Tomik (27. 1. 2009 16:37)
- Tomik
- Nette Evangelist | 485
Tak aktualizováno: na adrese http://tomik.jmx.cz/…ette/rss.php je nyní RSS bez duplicit, na adrese http://tomik.jmx.cz/etc/nette/ je jejich tabulkový výpis. Stále zlobí čeština – resp. je tam trasliterace – to předělám až přijdu na to, jak ohnout ten xml_parser, či až najdu nějakou rozumnou náhradu. Bug reporty vítany.
Jod: Tak halt to štve jen někoho, nenutím Tě to používat. :)
- Ondrej
- Člen | 110
Tomik napsal(a):
Čeština je tam pěkně debilní, vím o tom, parsuju to PHP xml_parserem a ten má jistý bug – asi tenhle http://bugs.php.net/bug.php?… – že mu dělá problém rozparsovat UTF-8 soubor s diakritikou (zatím to řeším transliterací – je to prasárna, ale funguje – kdyby někdo věděl, jak to opravit, dejte vědět).
pouzil bych SimpleXML parser. http://cz2.php.net/simplexml
- Tomik
- Nette Evangelist | 485
Ondrej napsal(a):
pouzil bych SimpleXML parser. http://cz2.php.net/simplexml
Díky! To je jiné kafe! :)
- David Grudl
- Nette Core | 8218
Tohle přesně mi na RSS taky vadí ;)
Zkusil jsem přidat parametr group
(tj třeba
https://forum.nette.org/cs/feed.php?group
), je to lepší?