Hey µaTh,
die Sache habe ich per PHP im Template gelöst. Sicher nicht die eleganteste Lösung, aber sie funktioniert ersteinmal.
PHP-Code:
<!-- indexer::stop -->
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if ($this->headline): ?>
<<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
<?php endif; ?>
<?php
function rssfeed($url) {
// die URL parsen
$arrayinhalt = parse_url($url);
// die Domain zerlegen
$arraydomain = explode(".", $arrayinhalt['host']);
// domainpositon = stelle der second level domain im Array $arraydomain ermitteln
$domainposition = count($arraydomain)-2;
// den einzelnen RSS-Feeds die entsprechendene CSS-Klasse und Link zuweisen
// itemclass[CSS-Klasse, Domain]
$itemclass = array(
cssclass =>"",
website => $arraydomain[$domainposition].".".$arraydomain[$domainposition+1],
rssurl => $url
);
// CSS-Klasse zuweisen
switch ( $arraydomain[$domainposition] ) {
case "domain1":
$itemclass['cssclass'] = "feed1";
break;
case "domain2":
$itemclass['cssclass'] = "feed2";
break;
default:
$itemclass['cssclass'] = "unknown";
}
return $itemclass;
}
?>
<div class="feedsources">Quellen:</div>
<ul class="allfeedlist">
<?php
// RSS-Feedliste der Quellen
$feeds = explode("\n",$this->rss_feed);
// einzelne Feeds
for ($i = 0; $i < count($feeds); $i++){
$arrayurl = rssfeed( $feeds[$i]);
echo "<li class=\"feedlist ".$arrayurl['cssclass']."\">";
// Feedimage
echo "<a href=\"http://".$arrayurl['website']."\" title=\"http://".$arrayurl['website']."\">";
echo "<span class=\"siteimage\"> </span>";
echo "</a>";
//Feed-Webseite
echo "<a href=\"http://".$arrayurl['website']."\" ".LINK_NEW_WINDOW." title=\"http://".$arrayurl['website']."\">";
echo $arrayurl['website'];
echo "</a>";
// RSS-Icon
echo "<a href=\"".$arrayurl['rssurl']."\" ".LINK_NEW_WINDOW." title=\"Direktlink zum RSS-Feed\"> ";
echo "<img src=\"tl_files/structure/RSS-Icon/rss_mikro.png\" alt=\"RSS-Icon\" />";
echo "</a>";
echo "</li>";
}
?>
</ul>
<?php foreach ($this->items as $item): ?>
<?php
$itemclass = rssfeed($item['link']);
?>
<div class="rss_default <?php echo $itemclass['cssclass']; ?><?php echo $item['class']; ?>">
<h2><a href="<?php echo $item['link']; ?>"<?php echo LINK_NEW_WINDOW; ?> title="'<?php echo $item['title']; ?>' auf <?php echo $itemclass['website']; ?> lesen" ><?php echo $item['title']; ?></a></h2>
<a href="<?php echo $item['link']; ?>"<?php echo LINK_NEW_WINDOW; ?> title="News von <?php echo $itemclass['website']; ?>">
<span class="siteimage"> </span>
</a>
<p class="description">
<?php echo $item['description']; ?>
</p>
<a class="more" href="<?php echo $item['link']; ?>"<?php echo LINK_NEW_WINDOW; ?> title="'<?php echo $item['title']; ?>' auf <?php echo $itemclass['website']; ?> lesen" >Weiterlesen...</a>
</div>
<?php endforeach; ?>
<?php echo $this->pagination; ?>
</div>
<!-- indexer::continue -->
Die zentrale Funktion spielt die Funktion rssfeed($url), die als Parameter die Url des RSS-Feeds bekommt und ein assoziertes Array (Felder: cssclass, website, rssurl ) auswirft.
Eingesetzt wird das Template auf http://www.psvcottbus-schwimmen.de/w...hwimmwelt.html
Schau mal, ob es dir weiter hilft.
Für Kritiken und Anregungen bin ich offen. Das erzeugte HTML ist bereits valide.
Lesezeichen