Visa ett inlägg
Oläst 2008-06-12, 22:31 #1
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
Vi testar och ser om det finns någon här med lite PHP vana som kan knäcka mitt lilla problem, för här går jag bet

Jag håller på att lägga in en samlad RSS feed genom magpie och allt fungerar fint, men nu vill jag ge varje item en egen klass så jag sedan kan styla varje item beroende på vilken feed den tillhör...där blir det lite svårare

Så här ser koden ut:
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 $url ) {
  $rss = fetch_rss($url);
  if (!$rss) continue;
  $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'];
  $out[] = '<li><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;
  }

?>
så på något sätt vill jag kunna lägga in en class i output <li class="$class"> till exempel, men jag är inte tillräckligt bra på PHP för att klura ut hur jag får in det i koden....hjälp mottages med tacksamhet
Mortekai är inte uppkopplad   Svara med citatSvara med citat