Kom ihåg mig?
Home Menu

Menu


merge feeds med ID åt varje feed...

 
Ämnesverktyg Visningsalternativ
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
 


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

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 01:20.

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