Navigation
Supportsider
Senest Online
afoster01:11:01
helmuth 1 Dag
flj 2 Dage
HenningS 3 Uger
wholle 5 Uger
Henrik Bendtsen 7 Uger
olelau 8 Uger
Christian 9 Uger
Bubbi 9 Uger
iceman5013 Uger
Besøgende
Gæster online: 4

Brugere online: 0

Antal brugere: 180
Nyeste bruger: Michael Mogensen
Se indlæg
PHP-Fusion - Danmark » PHP-Fusion version 6 » Elementer v6
 Udskriv debat
Element: Nyheder udefra via RSS feeds
flj
Det var godt, og tak for tilbagemeldingen - der er dødsygt at bruge tid på at hjælpe, og så er problemet løst.

En at udfordingerne var at få æøå rigtieg -det løste jeg med utf_decode - men åbenbart ikke helt. Har du et link, så jeg kan se det, og evt koden til den ændring, du har lavet. Jeg vil gerne undersøge, om det er noget, der skal ind generelt.
 
lehmann
Jeg har lige installeret elementet på min hjemmeside, men der er ikke mange sports feeds der virker.
Gør jeg noget galt ?

Jeg bruger RSSkataloget.dk til at finde feeds men jeg kan ikke få følgende feeds til at virke :

http://sportenkort.com/feeds/rss.xml (virker slet ikke)
http://cyclingworld.dk/xml.php (virker slet ikke)
http://www.bt.dk/rss/sport.xml (Viser kun 2 nyheder)

Denne virker dog perfekt:
http://sporten.tv2.dk/rss/sporten.xml

Kan det have noget med RSS versionen at gøre ?

Edit : Ups jeg er kommet ind på denne tråd via søgefunktionen, men jeg bruger altså php-fusion ver. 7 ,
Redigeret af lehmann d. 15-10-2008 12:04
Keep it simple.
Host : Servage.net
http://www.tcr.dk
 
www.tcr.dk
regulator
Har sat koden ind i element på www.aktiv-enu.dk og det virker fint. Tak for en god kode!

Men farven på teksten er blå og ikke til at læse. Kommer sikkert fra mit Theme, men kan man tvinge farven til at være fx hvid?
 
www.aktiv-enu.dk
flj
@lehmann - ser først dit indlæg nu - har været væk i nogle uger.

"http://sportenkort.com/feeds/rss.xml" virker uden problemer hos mig.

Det er korrekt, at "http://cyclingworld.dk/xml.php" tilsyneladende ikke virker. Jeg kan ikke lige se hvorfor. Måske kigger jeg på det ved lejlighed.

"http://www.bt.dk/rss/sport.xml" virker, hvis du i stedet skriver "http://www.bt.dk/rss/sport/seneste". Det er den side, der redirectes til, hvis du skriver din url i browseren.

Det er en fordel at teste siderne en ad gangen, da årsagen til at der kun vises fx. 2 nyheder kan være, at du støder ind i den samlede grænse for hvor mange nyheder, der vises.
 
flj
@regulator: Tak for de rosen.

Farven kan ændres - så vidt jeg kan se er det standard-farven (blå) for links, der passer dårligt med den mørke baggrundsfarve. Det er bare linien



Du kan bruge de almindelige html-tags til det. Kan ikke lige huske hvilken, der ændrer farven i - måske ved du det allerede selv?
 
regulator
Jeg har fundet html kode der burde kunne hjælpe:


LINK="#rrggbb


men uanset hvor jeg sætter det ind ændrer det ikke på noget.

Det eneste der sker er at RSS ikke vises overhovedet.
Redigeret af regulator d. 01-11-2008 12:40
 
www.aktiv-enu.dk
flj
@lehmann:

Når det ikke virker på "http://cyclingworld.dk/xml.php", så er det fordi den ikke overholder RSS standarderne.

Den angiver at benytte RSS version 0.92, men benytter syntaxen fra RSS version 2.

Du kan løse det ved at rette denne linie i dit element


if ($rss_file['version'] == "2.0")


til


if ($rss_file['version'] == "2.0" || $rss_feed == "http://cyclingworld.dk/xml.php")


men som sagt er det ikke en fejl i elementets kode, men i den på cyclingmanager.
 
flj
Brug


 
regulator
Giver flg. resultat:

Julemessen blev skudt godt i gang
Turistbrochurer kom i byrådet
Kurt Kirkegaard skal samle hele kommunen
Sund mad har stoppet konflikter på skole
Uhygge på Torvet
Penge og holdninger er på spil
Autoværksted fik sten gennem rude
Audi strandede
Stor spørgelyst på møde om giften i Grindsteds jord

Ser ikke
 
www.aktiv-enu.dk
flj
øhh - hvad er dit spørgsmål?
 
regulator
Sorry, det der var på skærmen jeg kopierede endteikke med at blive det samme som kom med ind på denne side.

Der var en del kode med i output på siden som "/color" osv. men det ser ud til at virke nu.

Tak for hjælpen Wink

 
www.aktiv-enu.dk
Martin-M
Hey!

Det ser rigtig godt ud - dog:

Jeg vil gerne modtage nyheder fra:

http://costume.dk/article/rss

http://www.zoommagazine.dk/rssfeeds/1...eeds/1.xml

..Og muligvis andre hjemmesider. Er der nogle der kan mikse koden sammen til det? Jeg kan nemlig ikke helt få det til at virke..

Tak
Redigeret af Martin-M d. 29-11-2008 11:41
 
flj
Prøv at:

1. Kopiere koden ind i et element
2. Ret $rss_feeds til dine 2 RSS links
3. Ret $max_age_hours fra 8 til 1000

Prøv om ikke det virker, og rapporter tilbage her - så tager vi den derfra.


 
Martin-M
Så fungerer det! Dog kan jeg kun få koden til at fungere ved 'Brugeroprettede sider' og ikke 'Elementer'?
 
flj
I "elementer" skal du indsætte koden i stedet for linien


echo "content";


og så skal du IKKE have første og sidste linie af koden med (dvs "").

Hvad hedder din side?

Så skulle det virke.
 
Martin-M
Jeg har lagt det ind som element nu.

www.fashionable.dk

Men jeg kan se at de andre elementer på midten ikke længere er i samme 'linie' som dette element? :s
 
Martin-M
I øvrigt. Kan det lade sig gøre at når man klikker på nyhedsoverskriften, så bliver man overført til en anden side ved et nyt vindue og ikke det samme?

- Kan det også lade sig gøre at indsætte et billede eller tekst - eller noget i den dur ind til højreside af elementet, da jeg synes det ser lidt tomt ud: www.fashionable.dk

Mvh.
 
flj
Samme linie:
Prøv at skifte openside(...) og closeside() ud med opentable(...) og closetable(): Hvis det ikke hjælper, så ved jeg ikke lige havd det skyldes.

Nyt vindue:


Billede:
Ja, det kan du gøre som du vil.
 
Martin-M

opentable("De seneste modenyheder");
echo "";
/////////////////////////////////////////////////
// RSS reader v3 2008-03-23
// by Flemming Jensen, Copyright 2008
/////////////////////////////////////////////////

// Compare function
function rss_cmp($a, $b)
{
    return $b["timestamp"] - $a["timestamp"];
}

// Function to retrieve, extract on age and pattern, limit by max_no and sort
function rss_feeds($rss_feeds, $max_age_hours, $pattern, $max_no)
{

   $max_age = $max_age_hours*3600; // in seconds
   $now = time();

   $date_format = "%a, %Y-%m-%d %T %Z"; // Format used to create date

   // Looping for every rss feed to read
   $rss = NULL;
   $n = 0;

   foreach($rss_feeds as $rss_feed)
   {
      // Load the RSS file
      $err_level = error_reporting(E_ALL ^ E_WARNING);
      $rss_file = simplexml_load_file($rss_feed);
      error_reporting($err_level);

      // Looping for every item returned
      if ($rss_file)
      {
         if ($rss_file['version'] == "2.0")
         {
            $rss_ver = 2;
            $items = $rss_file->channel;
         }
         else
         {
            $rss_ver = 1;
            $items = $rss_file;
         }

         foreach($items->item as $item)
         {
            if ($rss_ver == 1)
            {
               $dc_namespace = $item->children('http://purl.org/dc/elements/1.1/');
               $timestamp = strtotime(utf8_decode("{$dc_namespace->date}"));
            }
            else
            {
               $timestamp = strtotime(utf8_decode("{$item->pubDate}"));
            }

            // Only if not too old and matching pattern
            if ($now - $timestamp <= $max_age && preg_match($pattern, $item->description) == 1)
            {
               // Using utf8_decode(...) to get danish chars right
               $rss[$n]["link"] = utf8_decode($item->link);
               $rss[$n]["title"] = utf8_decode($item->title);
               $rss[$n]["date"] = strftime($date_format, $timestamp);
               $rss[$n]["timestamp"] = $timestamp;
               $rss[$n]["description"] = utf8_decode($item->description);
               $n++;
            }
         }
      }
   }


   if ($n>0)
   {
      // Sort all to get the newest ones first
      usort($rss, "rss_cmp");

      // Limiting the array to max_no
      while(count($rss)>$max_no)
         array_pop($rss);
   }

   return $rss;
}


// List of RSS-feeds to check
$rss_feeds = array(
   "http://www.zoommagazine.dk/rssfeeds/82.xml",
   "http://www.zoommagazine.dk/rssfeeds/32.xml",
   "http://www.look4fashion.dk/international/rss/rss_news.php?catID=1&langID=1");
   

// Max age in hours
$max_age_hours = 1000;

// Pattern to match - see preg_match(...)
$pattern = "//i"; // Matches everything

// Max no of news to return
$max_no = 10;

$rss = rss_feeds($rss_feeds, $max_age_hours, $pattern, $max_no);

if ($rss)
{
   foreach($rss as $item)
   {
     echo("".$item["title"]."
");
 }
}


Kan ikke finde 'closeside'? :s

TILFøJET: ER LøST
Redigeret af Martin-M d. 01-12-2008 14:37
 
Martin-M
Er det muligt at ændre på overskrifternes skifttype og skriftstørrelse? Smile
 
flj
Ja


     echo("

".$item["title"]."


");


eller noget andet html-stuff
 
Spring til debat: