O feedach słów kilka

{ 28.03.2007, 10:15 }

tagiTagi: 

FeedCzym 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:

Web, Webmastering | Trackback 

zablipaj facebook


Spodobał Ci się wpis? A może wręcz przeciwnie? Wyraź swoją opinię korzystając z pola poniżej! Komentarz to najprostsza możliwa forma komunikacji pomiędzy autorem a czytelnikami. :)

Zostaw komentarz

openidUżyj OpenID

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ę!

Mini

feed

2010 (1)

Wszystkiego najlepszego, oczywiście. Aby w górę. :)

Dobry dzień dla graczy (+)

Subiektywne growe newsy dnia:

* filmik promocyjny z Wiedźmina 2 opuścił studio CDPR
* jutro pierwszy epizod Tales of the Monkey Island będzie dostępny za free ( http://www.telltalegames.com/ ), a remake Secret of Monkey Island ma obniżkę 50% na Steamie (w przeliczeniu 19zł!)
* demo NFS: Shift w sieci http://www.gry-online.pl/S013.asp?ID=48311
* pecetowe premiery Batman: Arkham Asylum, Resident Evil 5 i NFS: Shift.
Ciekawy dzień dla graczy :)

Na czym polega praca Rzeźnika drzew (+)

Spragnionych nowej treści zapraszam na Strefę RPG, gdzie można przeczytać kolejną recenzję mojego autorstwa – opisuję tym razem “Rzeźnika drzew”, zbiór opowiadań Andrzeja Pilipiuka. Zachęcam do lektury (i dyskusji!) i proszę jeszcze o trochę cierpliwości – obiecane zmiany wakacyjne i częstsze pisania już wkrótce, aktualnie awansowałem na studenta i wciąż odpoczywam. :)

Antychryst (+)

Antychryst_Larsa_von_3234554

Zainteresowany ciekawą tematyką i scenami specjalnymi utworzonymi ze współpracą z Platige Image, udałem się na “Antychrysta” Larsa von Triera. Niestety, okazało się być to pomyłką, zwłaszcza, że oglądałem go z przedstawicielką płci pięknej – miał być horror, być może w jakiś sposób ambitniejszy od innych przedstawicieli tego gatunku. Tymczasem film nie dość, że nie był straszny, to nadzwyczaj okrutny i obrzydzający w pewnych momentach, a co gorsza – bez żadnego przesłania.

Nie mam nic przeciwko kontrowersji, ale niech ma ona chociaż jakiś sens.

Relacja z prezentacji Dragon Age (+)

I o to jest – zapraszam!

Dragon Age

Dragon Age: Początek – relacja z pokazu! (+)

Już 8 lipca wspólnymi siłami – moimi i pozostałych redaktorów StrefaRPG – będziecie mieli okazję dowiedzieć się wielu ciekawych informacji na temat nadchodzącego cRPG – DA:P. Zapraszam!

Krótka przerwa (+)

Krótka, bo trochę ponad tygodniowa prawdopodobnie – do 1 lipca jestem zupełnie bez dostępu do Internetu, potem zaś pracuję… zobaczymy, co będzie.

Bądź ambitny! [Mini] (+)

Bo dla chcącego nic trudnego! :)

Assassin 2 (2)

Szykuje się niezłe skakanie od Ubisoftu – po stosunkowo prostym, ale bardzo satysfakcjonującym Prince of Persia otrzymamy drugą część z planowanej trylogii o zabójcy z zakonu Assassynów. Spodziewałbym się poprawek w rozgrywce i rozbiciu monotonii, ale nie liczyłbym na specjalną zmianę w samym stylu gry – Ubi nie robi skradanek, za to robi świetne platformery, i na taką grę liczę. Walka z Templariuszami w Wenecji to jeden z murowanych hitów tego roku – wypada nań czekać także z powodu niezwykle tajemniczego zakończenia pierwszej części gry.

Trailer (z konferencji E3):

AC2trauler

Adtaily też u mnie (+)

adtailyStało się – i ja dołączyłem do testów platformy reklamowej przeznaczonej dla blogów i małych serwisów, czyli Adtaily.com. Aktualna cena wyświetlania boksu za dzień wynosi niecałe 2zł, zobaczymy po 2-3 dniach, w którą stronę należy ją ruszyć.

Zachęcam do korzystania – tak prostego i wygodnego systemu jeszcze nie było :)

Edycja: Cena została zmniejszona (chciałem zrobić to od razu, ale miałem problemy techniczne) do poziomu 2,85zł. Na razie testowo – zapraszam do wykupu!

Edycja2: Cena jeszcze niższa! 1zł + prowizja dla Adtaily – reklama w cenie batonika :)

  • Archiwum
  • -->
    jacek piekara openid PHP serial Wordpress torrent manga programowanie grafiki tvn24 blip web2.0 Sprzęt starcraft rpg General draiser.gamedev.pl blogosfera 3d RSS małe-i-przydatne blizzard reklama g2bp 2d Mozilla wiedźmin absurd Film filmy placebo fallout anime programy Komiks dns imprezy Youtube Google świat tv Fun mp3 crpg Internet Gry