Syötteiden tekeminen on helppoa ja hauskaa
Tein Paulan korusivuille RSS-syötteen uusista koruista. Syöte on tässä tapauksessa yksinkertainen PHP-skripti, joka hakee kannasta uusimmat korut ja liittää mukaan tarvittavat metatiedot.
Toteutuksessa oli hyötyä seuraavista linkeistä:
RSS 2.0 spesifikaatio
Feed Validator
RSS Wikipediassa
Lopullinen syötte näyttää jotakuinkin tältä (vähän karsittuna):
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Paulan korut</title>
<link>http://www.paulaminni.fi</link>
<language>fi</language>
<lastBuildDate>Sat, 03 May 2008 21:11:18 +0300</lastBuildDate>
<item>
<title>3.5.2008</title>
<link>http://www.paulaminni.fi/korut/80</link>
<guid>http://www.paulaminni.fi/korut/80</guid>
<author>[sähköpostiosoite] (Paula Minni)</author>
<description>
<![CDATA[
<img src="http://www.paulaminni.fi/kategoriat/Kaulakorut/_DSC0190.jpg" alt="" />
]]>
</description>
</item>
<atom:link href="http://www.paulaminni.fi/feed.php" rel="self" type="application/rss+xml" />
</channel>
</rss>
Syötteen päivittymisajankohtana voidaan käyttää uusimman korun julkaisuajankohtaa. Julkaisuajankohta on MySQL:n timestamp-muodossa, josta se saadaan haluttuun muotoon esimerkiksi seuraavalla koodinpätkällä:
$lastBuildDate = date("D, d M Y H:i:s O", strtotime($timestamp));
Itemien descriptioneiden sisällä voi käyttää HTML-koodia, kunhan muistaa merkitä sen character dataksi:
<description>
<![CDATA[
<!-- html-koodit tähän -->
]]>
</description>
Muuta huomionarvoista
RSS-syöte pitää tarjoilla palvelimelta application/rss+xml -muodossa. Helpoiten tämä onnistuu kun PHP:ssä sanoo ennen syötteen tulostamista:
header('Content-type: application/rss+xml');
Selaimelle voi kertoa, että sivusta löytyy myös RSS-versio lisäämällä linkin syötteeseen XHTML-tiedoston head-osioon:
<link rel="alternate" type="application/rss+xml" href="http://www.paulaminni.fi/feed.php" title="Tilaa syöte" />
Syötteen tekeminen oli yllättävän helppoa. Skriptiä voisi vielä jatkokehittää niin, että se cachettaisi valmiin syötteen, eikä rakentaisi sitä joka kerta uudestaan tyhjästä. Nykyisillä liikennemäärillä tämä ei vielä ole ongelma.
Kategoriat: web-kehitys PHP
Kysymyksiä tai kommentoitavaa?
Lähetä viesti Twitterissä tai sähköpostilla.
Jaa tämä sivu Twitterissä
1 kommentti
Uuden .fi-domainin varaaminen ja sivuston siirtäminen — Oivallisia juttuja –
[...] varaaminen ja sivuston siirtäminen sujui hyvin, lukuun ottamatta sivustolla ollutta RSS-syötettä. Syötteen yksittäisten artikkelien tunnisteina oli käytetty kunkin artikkelin alkuperäisen [...]
Kommentit on suljettu.