Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-05-2008 21:12:53

maxmob
Nouveau membre
Date d'inscription: 25-05-2008
Messages: 3

[Zend_Feed][1.5] Lecture d'un flux RSS

Bonjour,

Je tente de lire les articles d'un flux RSS avec le code suivant :

Code:

<?php
error_reporting(E_ALL); 
set_include_path('fw/'); 
require_once 'Zend/Feed/Rss.php';

try 
    {    
        $canal =Zend_Feed::import('http://www.monflux/rss.php', 5);
    }
catch (Zend_Feed_Exception $e) 
    {    
        // l'importation du flux a échoué
        echo '<input type="hidden" value="'. $e->getMessage().'" />';
        exit;
    }

foreach($canal->item as $elem)
    {
        echo '<h1><a href="' . $elem->link() . '" title="' . $elem->title() . '">' . $elem->title() . '</a></h1>';
        echo '<p>' .  substr($elem->description(), 0, 50) . '</p>'; 
    }
?>

Je n'arrive pas à lire les articles du flux.
Avez vous une idée du problème ?

Merci de votre aide.

Hors ligne

 

#2 26-05-2008 08:43:48

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

maxmob a écrit:

Je n'arrive pas à lire les articles du flux.

quelle est l'erreur ?

l'include path est correct ?


IT Dev @Twitter

Hors ligne

 

#3 26-05-2008 08:53:47

maxmob
Nouveau membre
Date d'inscription: 25-05-2008
Messages: 3

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

Il n'y a pas d'erreur php. Rien n'est retourné en fait.
Par exemple $canal->title() me donne bien le nom du flux, par contre la liste des items du flux est vide : la boucle foreach ne renvoit rien alors que le flux a des données.
Ces sur la lecture des extraits d'articles du blog contenu dans le flux que je bloque.

Hors ligne

 

#4 26-05-2008 11:18:14

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

Code:

    public function indexAction()
    {
        // on va chercher les derniers articles
        try
        {
            $rssFlux = new Zend_Feed_Rss('http://fr.fxfeeds.mozilla.com/fr/firefox/headlines.xml');
        }
        catch (Zend_Feed_Exception $e)
        {
            // l'importation du flux a échoué
            echo("Une exception a été interceptée lors de l'importation du flux :{$e->getMessage()}\n");
            exit;
        }
        
        // on initialise un tableau contenant les données du canal RSS
        $canal = array(
            'titre'       => $rssFlux->title(),
            'lien'        => $rssFlux->link(),
            'description' => $rssFlux->description(),
            'elements'    => array()
            );
        
        // on itère sur chaque élément du canal et on stocke les données qui nous intéressent
        foreach ($rssFlux as $elem)
        {
            $Posts[] =<<<VAR
<h1><a href="{$elem->link()}" title="{$elem->title()}">{$elem->title()}</a></h1><p>{$elem->description()}</p>
VAR;
        }
        //die('<pre>'.print_r($canal,true).'</pre>');

        $this->view->posts = $Posts;
    }

moi j'ai testé avec ca et ca marche sans problèmes.
j'ai remarqué cependant que suivant le flux qui est chargé il est en effet possible que les 'items' ne soient pas disponibles, probablement un bug dans la structure du flux rss pas valide je suppose.


IT Dev @Twitter

Hors ligne

 

#5 26-05-2008 21:19:28

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

Notes:
foreach($canal->item as $elem) => la boucle serait à la limite plutôt sur $canal->items
De plus l'e flux implémente l'interface Iterable si je ne me trompe pas, c'est pour ça qu'il est possible de faire directement foreach($canal as $elem)

Hors ligne

 

#6 27-05-2008 10:29:40

maxmob
Nouveau membre
Date d'inscription: 25-05-2008
Messages: 3

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

Je galerais de puis un moment, fait plusieurs tentatives, testé vos solutions sans succès.
Et puis je change de flux, et tout marche !
Grrr! le flux RSS est vérolé. A priori un blog sous dotclear.
Du coup, j'ai tenté la même chose avec le flux atom, et ça marche ....

Merci en tout cas de vos pistes, sans cela je tournai en rond avant de penser à une erreur du flux !

Hors ligne

 

#7 27-05-2008 12:58:51

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [Zend_Feed][1.5] Lecture d'un flux RSS

maxmob a écrit:

Je galerais de puis un moment, fait plusieurs tentatives, testé vos solutions sans succès.
Et puis je change de flux, et tout marche !
Grrr! le flux RSS est vérolé. A priori un blog sous dotclear.
Du coup, j'ai tenté la même chose avec le flux atom, et ça marche ....

Merci en tout cas de vos pistes, sans cela je tournai en rond avant de penser à une erreur du flux !

oui j'ai eu exactement le meme soucis donc je m'en doutais wink


IT Dev @Twitter

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages