Für die User, die sich einfach nicht von WordPress überzeugen lassen, bleibt nur die Möglichkeit alles per Hand zu machen. Aber auch für WordPress-user könnte diese Anleitung intressant sein:
Heute zeige ich euch wie ihr mehrere Parserseiten machen könnt, in denen ja nach Kategorie, nur bestimmte Beiträge gezeigt werden.
Used:
- PHP
- XML
Zuerst gehen wir auf den Inhalt eines Beispielbeitrags ein:
1 2 3 4 5 6 7 | <item> <title>Ein Tag zum Coden</title> <description>Heute habe ich diesen RSS-Feed erstellt. Dank Renzio lerne ich morgen, eine Kategorieneinteilung mit PHP zu machen!</description> <link>http://max-mustermann.de/feed/ein-tag-zum-coden</link> <category>homepage</category> <pubDate>Fri, 08 Oct 2010 14:23:00 +0200</pubDate> </item> |
<title> <description> <link> und <pubdate> sollten in ihrer Verwendung klar sein!
Für uns ist nur <category> wichtig!
Dort tragen wir die Kategorie unseres Beitrages ein.
Wir unterscheiden hier in 2 Kategorien, die auch entsprechende Seiten bekommen:
- Homepage – Die Kategorie für Homepageupdates
- Privat – Unser Privater Blog
Der User unserer Seite sieht in der Navigation dann auch entsprechende Navigations-Elemente!
Fangen wir mit dem Parser für die Homepageupdates an:
1 2 3 4 5 6 7 | <?php $feed=simplexml_load_file('feed/rss.xml'); //feed/rss.xml ist die Datei des FEED /* item */ $item=$feed->channel->item[0]; echo $item->title; ?> <hr><span style="color:#111111;"><?php echo $itemdate; ?></span><hr> <span style="font-size:12px;"><?php echo $item->description; ?></span> |
Sieht doch schon ganz gut aus! Allerdings würde unser Parser einfach den neuesten Beitrag nehmen und anzeigen! Jetzt kommt der Clou:
statt item[0] zu nehmen machen wir uns jetzt eine Variable $i = 0;
Dann laden wir immer das $item[$i]! Anschließend überprüfen wir ob die Kategorie richtig ist!
1 2 3 4 5 | If ($item->category == "Homepage") { break 2;} else { $i ++ } |
Das ganze Packen wir in eine Endlosschleife! Nach dieser Endlosschleife ist in $i das richtige Item gespeichert und wir können es ausgeben!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $feed=simplexml_load_file('feed/rss.xml'); //feed/rss.xml ist die Datei des FEED $i = 0; while (1=1): $item=$feed->channel->item[$i]; If ($item->category == "Homepage") { break 2;} else { $i ++ } endwhile; $item=$feed->channel->item[$i]; echo $item->title; ?> <hr> <span style="font-size:12px;"><?php echo $item->description; ?></span> |
Das Problem bei der ganzen Sache: Je länger der letzte Beitrag in der Kategorie her ist, desto länger wird auch die Ladezeit!
Also haltet eure Homepage immer aktuell
Natürlich kann man das ganze mit so vielen Kategorien machen wie man will, mit der Berücksichtigung der Ladezeit!
Der Parser für die Kategorie “Privat” sieht dann so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $feed=simplexml_load_file('feed/rss.xml'); //feed/rss.xml ist die Datei des FEED $i = 0; while (1=1): $item=$feed->channel->item[$i]; If ($item->category == "Privat") { break 2;} else { $i ++ } endwhile; $item=$feed->channel->item[$i]; echo $item->title; ?> <hr> <span style="font-size:12px;"><?php echo $item->description; ?></span> |


Sehr gute info, Danke
*hust*
Hallo? Soweit ich weiß war das einer meiner Beiträge!
Und wo ist mein Account hin?