O feedach słów kilka
{ 28.03.2007, 10:15 }
Tagi: CMS, PHP, RSS
Czym jest feed/RSS? To “oparta na języku XML technika przesyłania nagłówków wiadomości”. W praktyce sprowadza się to do tego, że możemy wiadomości z rozmaitych serwisów (newsletterów, blogów, for, i wszystkich, które usługę RSS wspierają – a że jest to obecnie standard, wspierają prawie wszystkie) pobierać, po czym w oddzielnej aplikacji (działającej w systemie bądź w przeglądarce) je wygodnie czytać – przeglądając nagłówki/skróty wiadomości by wchodzić tylko na to, co nas zainteresuje.
Więcej informacji na temat RSS i przegląd najpopularniejszych aplikacji u Lanooz, ja teraz zajmę się tym zagadnieniem od drugiej strony, czyli…
Jak postawić feeda
No właśnie. Skoro to takie fajne i jest standardem, to wypadałoby to posiadać na swoich witrynach. Najprościej jest uruchomić serwis na CMS’ie, który tworzenie RSS’a wspiera (jak Wordpress czy inna Joomla). Co jednak, gdy chcemy/musimy postawić we własnoręcznie skodzonym projekcie? Cóż, tutaj się przyda mały skrypcik, przerobiony przeze mnie specjalnie na potrzeby edukacyjne :). Kod w PHP – niestety Perlowcom i użytkownikom skryptów w innych językach nie pomogę. Zakładam że treść schowana jest w bazie MySQL, ale to łatwe do zmiany.
<!–Ustawienie odpowiedniego kodowania dla RSS (powinien być oczywiście taki sam jak treści, które za jego pomocą przesyłamy–>
<?php
header(“Content-Type: text/xml; charset=iso-8859-2″,true);
echo ‘<?xml version=”1.0″ encoding=”iso-8859-2″?>’;
?>
<rss version=”2.0″>
<channel>
<!–Teraz wypełniamy pogrubione elementy właściwymi ustawieniami…–> <title>Tytuł feeda</title>
<link>Link do strony głównej serwisu</link>
<description>Opis feeda</description>
<language>Język w/w(np “pl”)</language>
<webMaster>draiser@wp.pl</webMaster> <!–to mozecie zostawić :) –>
<?php
include(‘config.php’);<!–No cóż… łączymy się z bazą, rozwiązać to możemy na różne sposoby, załóżmy że zrobiliście to jak ja – wszystkie ustawienia są w oddzielnym pliku config.php i zmienne przechowujące host, login i hasło to $dbhost, $dblog, $dbpass–>
mysql_connect($dbhost,$dblog,$dbpass) or
die (“<div class=’blad’>Błędna nazwa hosta, login bądź hasło</div>”);
mysql_select_db ($db_name) or
die (“<div class=’blad’>Błędna nazwa bazy</div>”);<!– Tutaj zapytanie SQL – pobierające 15 ostatnich wpisów z tabeli post – oczywiście to trzeba skonfigurować wedle woli – więcej informacji o MySQL itp zapytaniach w kursie na ten temat–>
$sql=mysql_query(“SELECT * FROM post order by id desc limit 15″);
while($wiersz = mysql_fetch_array($sql))
{
<!– zapisywanie elementów pobranych z zapytania do tablicy, a następnie wykorzystywanie ich do informacji w feedach – podstawy obsługi MySQL w PHP są niestety konieczne do zmiany tych wartości w zależności od tego, jak zbudowany jest Wasz skrypt –>
$id = $wiersz['id'];
$title= $wiersz['title'];
$text=$wiersz['text'];
echo(“<item>
<title>”.$title.”</title><!–rozpoczyna się pojedynczy item wpisu – tytuł –><link>Link do strony głównej serwisu/?id=”.$id.”</link>
<!–link na który ma wskazywać, u mnie to było http://strona.pl/?id=idartykułu, w zależności od budowy trzeba to przerobić–>
“);?>
<description>
<!–description, treść wpisu po prostu, umieszczona w tagu [!CDATA] by zachować znaki kodowania, symbole html itp.–>
<![CDATA[
<?
echo($wiersz['text']); ?> <!–u mnie ta zmienna przechowywała treść wpisu–>
]]>
</description>
<?
echo(“</item>”);
}
?>
</channel></rss>
I koniec :). Plik ten możemy nazwać powiedzmy feed.php i już po wczytaniu w przeglądarce powinniśmy ujrzeć śliczne źródło RSS – gotowe do użycia w zewnętrznych aplikacjach czy gdzie tylko zechcemy. Oczywiście można dodać różne ficzery w stylu daty itp… ale to zależy od tego, co przechowujemy w bazie danych – potem wystarczy to tylko odpowiednio przekazać do XMLa. Temat otwarty – czekam na propozycje rozwinięcia.
Pomocne linki:
Powyższy skrypt do zassania
RSS w Wikipedii
Poradnik ręcznego tworzenia RSS Heliona – m.in. opis znaczników
Kurs MySQL w PHP niżej podpisanego (część 1)
Kurs MySQL w PHP niżej podpisanego (część 2)
RSS wpisów dRaiser’s helloworld
RSS komentarzy dRaiser’s helloworld
PS -> Jakby ktoś miał problemy/potrzebował więcej/chciałby podpiąć to do skryptu na plikach/chciałby zrobić z tym cokolwiek, proszę pisać w komentarzach, ewentualnie na mail draiser[at]wp.pl.
Podobne wpisy:- Note – Proste jest piękne?
- Wykop Indicator dla WP i Joggera
- Trochę prywaty
- Zablipajka – mały bajer dla blipa
- Nowy layoult Jogger.pl
Web, Webmastering | Trackback

dodaj bloga do czytnika RSS



Stało się – i ja dołączyłem do testów platformy reklamowej przeznaczonej dla blogów i małych serwisów, czyli
Zostaw komentarz
Jeśli po dodaniu nie widzisz swojego komentarza, a nie wyskoczył żaden komunikat błędu - nie dodawaj go ponownie, prawdopodobnie trafił pod skrzydła moderacji i zostanie dodany przy przejrzeniu oczekujących przez autora bloga.
Irytuje Cię konieczność wpisywania danych przy każdej próbie komentowania? Zarejestruj się!