Kom ihåg mig?

merge feeds med ID åt varje feed...

 
Ämnesverktyg Visningsalternativ
Oläst 2008-06-13, 20:34 #11
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Har för mig jag testade. Ska testa igen.
Drew är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-13, 21:48 #12
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Ojsan. Här är hela skriptet. Jag har bytt ut
Kod:
$rss->items = array_merge($rss->items, array('class' => $class));
till
Kod:
 $class_arr = array('class' => $class);
 foreach($rss->items as $key => $value)
 {
 	$rss->items[$key] = array_merge($rss->items[$key], $class_arr);
 }
$rss innehåller flera arrays och värdet måste sättas för varje. Det är inte snyggt, men det fungerar (den här gången har jag testat).

Kod:
<?php

define('MAX_ITEMS', 25);

require_once('rss_fetch.inc');

$urls = array(
   'nyheter' => 'http://www.mortfiles.se/kundcenter/announcements.xml',
'blog' => 'http://www.mortfiles.se/blog/feed',
'forum' => 'http://www.mortfiles.se/diskussion/index.php?act=rssout&id=5',
'lankar' => 'http://www.mortfiles.se/lankar/rss.php?c=3&s=P&p=1',
'itnyheter' => 'http://www.mortfiles.se/nyheter/rss'
);


$items = array();

// loop thru all urls & merge feeds into master array
foreach ( $urls as $class => $url ) {
 $rss = fetch_rss($url);
 if (!$rss) continue;
 $class_arr = array('class' => $class);
 foreach($rss->items as $key => $value)
 {
 	$rss->items[$key] = array_merge($rss->items[$key], $class_arr);
 }
 $items = array_merge($items, $rss->items);
}

// sort all items in array by date
usort($items, 'date_cmp');

// generate ouput array
$out = array();

foreach ($items as $item) {
 $href  = $item['link'];
 $title  = $item['title'];
$class = $item['class'];
 $out[] = '<li class="' . $class . '"><a href="'.$href.'" title="'.$title.'">'.$title.'</a></li>';
}

if (count($out) > MAX_ITEMS)
 $out = array_slice($out,0,MAX_ITEMS);

echo ($out)
 ? "<ul>\n".join("\n",$out)."\n</ul>"
 : '';


// sorts feed array based on published date (used with usort)
// -------------------------------------------------------------
 function date_cmp($a, $b)
 {
   $atime = (empty($a['date_timestamp']))
     ? strtotime($a['dc']['date'])
     : $a['date_timestamp'];

   $btime = (empty($b['date_timestamp']))
     ? strtotime($b['dc']['date'])
     : $b['date_timestamp'];

   if ($atime == $btime)
     return 0;
 
   return ($atime > $btime) ? -1 : 1;
 }

?>
Drew är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-13, 22:13 #13
Mortekais avatar
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2004
Inlägg: 587
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
Mortekais avatar
 
Reg.datum: Jan 2004
Inlägg: 587
Perfekt Drew, det fungerar precis som jag vill ha det

Nu till nästa del...hur får jag in pubDate i samma kod....
Mortekai är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-13, 23:37 #14
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Drew Drew är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 132
Kod:
foreach ($items as $item) {
$href  = $item['link'];
$title  = $item['title'];
$class = $item['class'];
$pubdate = $item['pubdate'];
$out[] = '<li class="' . $class . '"><a href="'.$href.'" title="'.$title.'">'.$pubdate.' '.$title.'</a></li>';
}
Om du vill ha datumformatet Wed, 21 May 2008 09:16:14 +0000
Vill du ha 2008-05-21 09:16:14 så får du ändra
Kod:
$pubdate = $item['pubdate'];
till
Kod:
$pubdate = date('Y-m-d H:i:s', $item['date_timestamp']);
Men då bör du också sätta
Kod:
date_default_timezone_set('Europe/Stockholm');
i början av filen.
Drew är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-06-13, 23:53 #15
Mortekais avatar
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2004
Inlägg: 587
Mortekai Mortekai är inte uppkopplad
Mycket flitig postare
Mortekais avatar
 
Reg.datum: Jan 2004
Inlägg: 587
Perfekt
Nu ska jag bara styla till detta så det ser ut någonting sånt här....
Bifogade bilder
Filtyp: gif post-4-1213394027.gif (11.2 KB, 0 visningar)
Mortekai är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:32.

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