Navigation
Supportsider
Senest Online
afoster00:59:57
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: 9

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
Martin-M
Ehm. Hvordan skifter man så skrifttypen og størrelsen?

Er der muligt at få overskrifterne centralt? Smile
 
flj
Alt kan lade sig gøre...

Det er ganske almindelige html tags, du skal bruge. Hvis du ikke kan dem endnu, så er det her en god anledning til at begynde. I det lange løb er det meget bedre, at kunne det selv.

Se fx. www.html.dk er tusind-vis af andre steder derude.
 
Superbif

Citer

flj skrev:
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.

Jeg kan ikke rigtig få det til at virke..

Jeg bruger den er nyheds box..

opentable("Nyheder");
$result = dbquery("SELECT * FROM ".DB_NEWS."
LEFT JOIN ".DB_NEWS_CATS." ON news_cat=news_cat_id
WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") ORDER BY news_datestamp DESC LIMIT 0,10");

echo "

   
     
     
     
     
   
DatoKategoriEmneVisninger
\n";

while ($data = dbarray($result)) {
$title = $data['news_subject'];
$sh_title = $title;
$n_id = $data['news_id'];
$v_id = $data['news_reads'];
$c_id = $data['news_cat_name'];
$comments_n = dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id=$n_id");
$date = $data['news_datestamp'];
$n_date = showdate("%d-%m-%Y", $date);

echo "

   
     
     
     
     
   
$n_date$c_id\n"; echo trimlink($sh_title, 43)."Læst $v_id gange
\n";
}
echo "

   
     
   
Alle Nyheder - Nyhedsarkivet
\n";
closetable();
 
www.kvindebold.dk
flj
@superbif: Synes ikke dit spm hører hjemme i denne tråd. Hvis du opretter en ny, så sletter jeg denne her.
 
Superbif
Helt ok
 
www.kvindebold.dk
- Tony -
@flj

Kan jeg gøre så din feedreader kode kan læse http://www.lemviginfo.dk/feeds/news.php

Rss filen ser således ud



/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+---------------------------------------------------*/

header("Content-Type: text/xml");
require_once "../maincore.php";
require_once THEME."theme.php";

$result3=dbquery("SELECT * FROM ".$db_prefix."news WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") ORDER BY news_datestamp DESC LIMIT 0,10");
$result2=dbquery("SELECT siteurl FROM ".$db_prefix."settings");
$base=dbresult($result2,0);

echo "\n\n
   \n\n
   \n
   ".$settings['sitename']." - Nyheder\n
   ".$base."\n
   ".$settings['description']."\n";

while ($row=dbarray($result3)) {
   $rsid = intval($row['news_id']);
   $rtitle = $row['news_subject'];
   $description = stripslashes(nl2br($row['news_news']));

// Legg til tillatte HTML tagger mellom anførselstegnene nedenfor, alle andre vil bli strippet
   $description = strip_tags($description, "




");

   echo "\n
   ".htmlspecialchars($rtitle)."\n
   ".$base."news.php?readmore=".$rsid."\n
   ".trimlink(htmlspecialchars($description),200)."\n
   
\n\n";
}
echo "

   
";

?>

www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Det skulle jeg mene.

Prøv at rette denne linie (det røde er tilføjet):


if ($rss_file['version'] == "2.0" || $rss_file->channel)


Giv gerne en tilbagemelding - det kan være det skal være en generel forbedring.

(hvis du hellere vil rette i din kode kan du rette "0.91" til "2.0" tror jeg (ikke testet) - men mener at ovenstående er bedre, da jeg tror det gør readeren mere robust)
Redigeret af flj d. 06-02-2009 23:56
 
- Tony -
Ingen af delene giver noget resultat



.
www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Undskyld, det var mig der ikke havde fået det hele med.

Der er to problemer:

Det første er at der er inkonsistens mellem min og din kodes opfattelse af RSS1 og RSS2 standarderne. Det er meget muligt, at din kode har ret - ovennævnte var et forsøg på at gøre min kode mere "alt-ædende" - og den del er vist ok.

Det andet problem er, at din kode ikke sætter nogen dato-stempler. Min kode udvælger kun de, der er nyere end x dage, og kombinationen falder ud, så de IKKE tages med. Det har jeg nu løst ved at tage alle med, hvis dato-taggen mangler. Du kunne overveje at lægge en dato ind i din kode, men det er ikke nødvendigt.

Vi må hellere tage den fulde version:


/////////////////////////////////////////////////
// RSS reader v4 2008-03-23 (modified 2009-02-07)
// by Flemming Jensen, Copyright 2008-9
/////////////////////////////////////////////////

// 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_file->channel->item)
         {
            $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 || $timestamp == 0) && 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.lemviginfo.dk/feeds/news.php");

// Max age in hours
$max_age_hours = 8;

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

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

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

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


Og denne gang er det testet ordentligt ;)
 
- Tony -
Jo TAK, nu vises feedsene da i det mindste, så må jeg overveje om jeg skal se om der kan sakses kode et eller andet sted fra til dato ( skal den så være i pubDate ?)

Eller er der andre der allerede har PHP-Fusion feeds kode indeholdende dato ?

EDIT Har nu fået tilføjet så det ser ud til at spille med den "originale" kode,tak for hjælpen
www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Lige for min forståelse: Med pubDate, så kører det staidg IKKE uden den anden ændring. For ellers er jeg forvirret?
 
- Tony -
@FLJ jo den kørte med de rettelser som du havde lavet i din kode i tidligere indlæg, men som du selv påpegede var der ingen sortering efter dato, nu hvor jeg har fået puttet ind i rss-feedet http://www.lemviginfo.dk/feeds/news.php bliver de sorteret rigtigt ( stor betydning hvis man har flere feeds i samme panel - og det er jo det rigtig smarte ved din kode)
Så det rigtige må jo være at bruge med dato, så måske dit eksempel fra tidligere skulle slettes for ikke at forvirre andre, da det jo er en temmelig lang debat og den virker kun med feeds uden (tror jeg - der er ihvertfald ingen indhold på din testside nu)

Endnu en gang mange tak for at lede mig i den rigtige retning Cool
www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Tak for svaret. Jeg tror jeg lægger rettelserne op i det øverste indlæg, så det repræsenterer den nyeste kode.

 
kimowitz
Lige et lille spørgsmål..

Jeg har min lille side www.kimowitz.dk

Jeg vil gerne have friske nyheder i et element, og jeg har brugt koden i denne tråd, og er meget tilfreds så 1000 tak til forfatteren.

Nu vil jeg så gerne have et element mere med en aktuel tv oversigt..

Jeg kan bare ikke få vist 2 elementer på samme tid.., hvis jeg slår begge elementer til så vises der ingenting, så jeg kan kun få vist den ene eller den anden.. og ikke begge på en gang.

Er der nogen som kender årsagen e til dette, og kan det lade sig gøre at få vist begge elementer på samme tid ??
 
www.kimowitz.dk
- Tony -
Man kan godt have FLJ's RSS Feed i flere elementer men kun hele koden skal ind i det element der bliver læst ind først SE TEST nederst til venstre.

Du skal undlade al koden der laver de forskellige tjek og kun skrive den der kalder feedet + max nummer og max tid


www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Tony har jo svaret, og han har helt ret.

Det største problem ved at have flere paneler og evt flere/mange sider i hver er, at det tager tid at kalde alle de sider hver gang.

Jeg har tit tænkt på at man burde lave det til en infusion, og så indbygge diverse forbedringer. En af dem kunne være en buffer, så alle sider i et panel ikke skal læses af alle brugere af siden hver gang - de kunne jo ligge i en database.

Som Tony har været inde på tidligere, så er der også mulighed for at bruge panelet til at kombinere egne nyheder - der jo også kunne vises som et feed.

Mulighederne er mange. Hvis nogle har lyst til at tage udfordringen op, er de meget velkomne til at benytte min kode.
 
- Tony -
Det smarte ved FLJ's er jo netop at man kan kombinere flere forskellige feeds. Desuden findes der ihvertfald til v6 en infusion til feeds der bruger cache, men du mister så muligheden for at style feedet (eller det bliver en del svære at håndtere og skal gøres direkte via databasen) i princippet kan du style FLJ's seperat for hver feed-element, det tror jeg så går fløjten hvis den laves om til infusion.



www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
flj
Det er en god pointe det me stylingen.

Men mon ikke det kunne kombineres, hvis man planlagde det derefter?

Der kunne fx være styling til side-element, men en anden mulighed er at style så outputtet er et selvstændigt RSS feed.
 
kimowitz
Det virker.... SUPER

1000 takGrin
 
www.kimowitz.dk
- Tony -
Hvis det kunne få funktioner, som man f.eks. ser hos newbie.dk gæstebog, hvor man kan vælge udseende på mange af elementerne i gæstebogen, hvor mange osv via dropdown o.lign.
Overskrift i standard element eller billede som overskrift ville jo også være fedt og jeg kunne godt komme på mere hvis det skulle være...


www.lemviginfo.dk/platuglerne_ikon2.gif www.lemviginfo.dk/images/lemviginfo_dk.gif [url=http://www.lemvig.info][img]http://www.lemviginfo.dk/image
 
http://www.lemvig.info/redirect.php
jensjac
Hej venner
Nyheder udefra via RSS feeds.
Jeg har forsøgt mig lidt med elementet. Men kan ikke rigtigt få det til at spille.
Nu har jeg lagt koden i en brugeroprettet side og linket til den fra menulinien.
Jeg kan så få en side frem men den er uden indhold. At siden ikke viser en fejlkode betragter jeg som positivt.
Men det gør det svært at spotte problemet. Kunne jeg bare en gang få en nyhed frem ville det bringe mig på sporet. Er der nogen der kan hjælp?
Koden er vedæftet som fil.
Min side hedder www.tikal.dk

KH
Jens
jensjac tilknyttede følgende billede:fil:
rss.txt [3,13kB / 584 Downloads]

Redigeret af jensjac d. 22-03-2009 00:13
 
Spring til debat: