<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Let's talk about webdesign &#187; PHP</title>
	<atom:link href="http://letstalkaboutwebdesign.de/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://letstalkaboutwebdesign.de</link>
	<description>HTML, CSS, PHP, JavaScript, Print, Grafik und was es sonst noch im Web gibt</description>
	<lastBuildDate>Thu, 02 Apr 2009 10:15:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RSS Feeds mit Magpie RSS in die eigene Seite einbinden</title>
		<link>http://letstalkaboutwebdesign.de/allgemein/rss-feeds-mit-magpie-rss-in-die-eigene-seite-einbinden</link>
		<comments>http://letstalkaboutwebdesign.de/allgemein/rss-feeds-mit-magpie-rss-in-die-eigene-seite-einbinden#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:19:04 +0000</pubDate>
		<dc:creator>the0bone</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[einbinden]]></category>
		<category><![CDATA[Feed]]></category>
		<category><![CDATA[Magpie RSS]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://letstalkaboutwebdesign.de/?p=155</guid>
		<description><![CDATA[Oft besteht ja eine Internet Präsens aus mehreren Bereichen. Statischen Seiten, einem Blog, einer Galerie, einem Forum usw. Alles zusammen bildet die gesamte Seite. Meistens möchteman die verschiedenen Skripte miteinander verbinden, mindestens aber die Daten auf der Startseite zusammengefasst darstellen. Viele verschiedene Portalskripte bieten da ihre Funktion an, dabei ich das gar nicht so kompliziert.

Auf [...]]]></description>
			<content:encoded><![CDATA[<p>Oft besteht ja eine Internet Präsens aus mehreren Bereichen. Statischen Seiten, einem Blog, einer Galerie, einem Forum usw. Alles zusammen bildet die gesamte Seite. Meistens möchteman die verschiedenen Skripte miteinander verbinden, mindestens aber die Daten auf der Startseite zusammengefasst darstellen. Viele verschiedene Portalskripte bieten da ihre Funktion an, dabei ich das gar nicht so kompliziert.</p>
<p><span id="more-155"></span></p>
<p>Auf der index.php (der Startseite beim Domainaufruf) sollen nun die die neusten News aus den verschiedenen Bereichen erscheinen. Dazu könnte man nun eine Abfrage an die verschiedenen Datenbanken programmieren und dieses anzeigen. Dazu müsste man sich jedoch mit jeder der Datenbanken auseinander setzen, deren Strukturen total unterschiedlich sind. Und sollte ein Update des Skriptes veröffentlicht werden, geht nichts mehr, da die Datenbank umgestellt wurde. Der einfache Weg ist, auf eine Schnittstelle zurückzugreifen. Da bieten sich die Feeds der Skripte förmlich an.</p>
<p>Der Vorteil liegt klar auf der Hand: Man braucht nur einmal etwas einzusetzen und kann es dann für alle „internen” Feeds und auch <acronym title="Externe Feeds unterliegen meistens Urheberrechten. Bitte vor dem Einbinden von externen Feeds prüfen, ob dieses erlaubt ist." lang="de" xml:lang="de">externe Feeds</acronym> benutzen.</p>
<p>Der <a href="http://magpierss.sourceforge.net/" target="_blank">Magpie RSS &#8211; PHP RSS Parser</a> ist zwar schon etwas in die Jahre gekommen, erfüllt aber die Anforderungen vollkommen.</p>
<p>Die hier herunter geladenen Daten werden dazu in einem eigenen Unterordner &#8220;magpierss&#8221; gespeichert</p>
<p>Nun muss die index.php editiert werden, um das Skript einzubinden und die Daten auszugeben. Als erstes muss magpierss aus dieser Seitegeladen werden. Dazu muss die Datei rss_fetch.inc geladen werden. Dieses muss zwar vor dem anderen PHP Code passieren, aber nicht zwingend im Head Bereich der HTML Datei.</p>
<p>Anschließend müssen die Feeds, die genutzt werden sollen geladen werden und notfalls etwas angepasst werden.</p>
<p>In der ersten Zeile sollte die Adresse deines Feeds stehen. Hier sind z.B. aus WordPress raus auch Kategorie- Feeds möglich.</p>
<p>In der dritten Zeile wird der Feed passend zu unserer Darstellung gekürzt. Hier wird gestartet vor dem ersten Beitrag durch die 0 und inklusive des dritten durch die 3.</p>
<p>Nun liegen die Beiträge in dem Array $my_rss und müssen nur noch dargestellt werden. Dieses geschieht am besten mit einem Durchlauf durch das Array.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>dl<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>dt<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php print(<span style="color: #006699; font-weight: bold;">$url</span>); ?&amp;gt;&quot;</span><span style="color: #339933;">&gt;&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>dt<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>dd<span style="color: #339933;">&gt;&lt;/</span>dd<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>dl<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Dafür werden für jeden Beitrag im Array der Titel, die Adresse und der Text genommen und als HTML ausgegeben. Der Titel dann als „Überschrift” mit Link gesetzt und anschließend die Beschreibungangezeigt. Die entsprechende Definition (dt und dd) brauch ich an dieser Stelle nicht zu erklären.</p>
<p>Das Teilskript ab dem Einladen des Feeds bis zur Ausgabe kann nun beliebig oft mit verschiedenen Feeds wiederholt werden. So kann hier z.B. der Feed der Galerie und des Forums zusätzlich genutzt werden oderdas ganze ein bisschen modifiziert werden:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>dl<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>dt<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php print(<span style="color: #006699; font-weight: bold;">$url</span>); ?&amp;gt;&quot;</span><span style="color: #339933;">&gt;&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>dt<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>dd<span style="color: #339933;">&gt;&lt;/</span>dd<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>dl<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>hr size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1&quot;</span> noshade<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;noshade&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>div style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;float: left; position: relative; width: 50%;&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>dl<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>dt<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php print(<span style="color: #006699; font-weight: bold;">$url</span>); ?&amp;gt;&quot;</span><span style="color: #339933;">&gt;&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>dt<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>dl<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;float: right; position: relative; width: 50%;&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>dl<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>dt<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php print(<span style="color: #006699; font-weight: bold;">$url</span>); ?&amp;gt;&quot;</span><span style="color: #339933;">&gt;&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>dt<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>dd<span style="color: #339933;">&gt;&lt;/</span>dd<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>dl<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://letstalkaboutwebdesign.de/allgemein/rss-feeds-mit-magpie-rss-in-die-eigene-seite-einbinden/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

