WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   RSS-feed, skapa!? (https://www.wn.se/forum/showthread.php?t=1049926)

Rawal 2011-09-08 23:50

RSS-feed, skapa!?
 
Har kikat runt, men kan inte förstå mig på hur jag skapar en RSS-feed. Vill ha ett sådant fint flöde till en sida som jag nyligen startat. Eller är detta på väg att dö ut? Värt att använda?

dAEk 2011-09-10 09:28

Om du vill ha hjälp med att koda måste du berätta vilket språk du kör med.

iostream 2011-09-10 12:14

Du får nog vara lite mer specifik.

Här kan du läsa specifikationen för RSS 2.0:
http://cyber.law.harvard.edu/rss/rss.html

Rawal 2011-09-11 03:41

dAEk: Vilket språk? I Have no idea. Så tell me more... jag kan inget om sådant så berätta. Sidan som jag önskar ha det på är bara gjort i fin xhtml/css.

emilv 2011-09-11 07:21

Oftast skapar man en RSS-ström programmatiskt med ett serverskript. Det är en XML-fil med rätt så enkel struktur, så det är inte speciellt svårt att koda om man har lite erfarenhet av programmering. Man skriver ut filens ("kanalens") början med sajtens namn, adress och liknande. Därefter följer en lista med poster ("items") som innehåller publiceringsdatum, titel, beskrivning och eventuellt en länk.

Här är till exempel min RSS-feed (jag har alla poster lagrade i en databas sedan tidigare):

PHP-kod:

<?php
define
('DF''D, d M Y H:i:s T');

header('Content-Type: text/xml; charset=utf-8');

function 
item($r) {
        
$pubdate gmdate(DFstrtotime($r->published));
        
$header htmlspecialchars($r->header);
        
$text $r->content;
        if(!empty(
$r->url)) {
                
$url htmlspecialchars($r->url);
                
$host parse_url($urlPHP_URL_HOST);
                if(
substr($host04) == 'www.') {
                        
$host substr($host4);
                }
                
$host ucfirst($host);
                
$text .= "<p><a href=\"$url\">Read more @ $host</a></p>";
        }else{
                
$url 'http://www.emilvikstrom.se/';
        }

        
$text htmlspecialchars($text);
        echo <<<EOF
                <item>
                        <title>
$header</title>
                <link>
$url</link>
                        <description>
$text</description>
                        <pubDate>
$pubdate</pubDate>
                </item>

EOF;
}

/* CONTENT START */

?>
<<?php echo '?';?>xml version="1.0" encoding="utf-8"<?php echo '?';?>>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
        <channel>
                <title>Emil Vikström</title>
                <link>http://www.emilvikstrom.se/</link>                                                          
            <atom:link href="http://www.emilvikstrom.se/rss.xml" rel="self" type="application/rss+xml" />
                <description>Emil Vikström, tech and web coder in Sweden. Visit me on www.EmilVikstrom.se</descri\
ption>
                <language>en</language>

<?php
        
include_once 'sqlconnect.php';
        
$query "SELECT * FROM ev_blag ORDER BY published DESC LIMIT 20";
        
$result $db->query($query);
        while(
$r $result->fetch_object()) {
                
item($r);
    }
?>
      </channel>
</rss>
<?php /* CONTENT END */ ?>

Det finns program för att skapa RSS-filer manuellt också, om du inte har ditt data sparat i ett trevligt format redan.

dAEk 2011-09-11 13:16

Citat:

Ursprungligen postat av Rawal (Inlägg 20417204)
dAEk: Vilket språk? I Have no idea. Så tell me more... jag kan inget om sådant så berätta. Sidan som jag önskar ha det på är bara gjort i fin xhtml/css.

Kan du inte programmera alls skulle jag nog rekommendera ett CMS eller en bloggmotor eftersom de flesta av dem gör det enkelt att fixa bl.a. RSS. Men för att det ska funka behöver servern köra PHP, .NET eller motsvarande.

pelmered 2011-09-11 13:30

Citat:

Ursprungligen postat av Rawal (Inlägg 20417204)
dAEk: Vilket språk? I Have no idea. Så tell me more... jag kan inget om sådant så berätta. Sidan som jag önskar ha det på är bara gjort i fin xhtml/css.

Har du en sida i statisk html så kan du inte få dit en RSS-feed på ett vettigt sätt. Då krävs det mer eller mindre att du hämtar innehåll(artiklar, inlägg etc.) ifrån en databas. Datan till RSS-feeden hämtar du sedan ifrån samma databas. Om du bara vill höra det med html och xml så måste du uppdatera RSS-feeden manuellt och det blir ganska jobbigt i längden.

Som sagt, kolla på någon lösning där du använder något CMS-verktyg för allt det där. Då är det ganska enkelt att få till, även utan programeringskunskaper.


Alla tider är GMT +2. Klockan är nu 15:56.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson