Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-01-2008 14:15:44

allfab
Membre
Date d'inscription: 02-10-2007
Messages: 40

Construction Fil RSS [ZF 1.0.3]

Bonjour à tous,

Je suis actuellement en train de développer un site et j'aimerais lui intégrer un flux rss. Je voulais savoir s'il y était possible de créer ce flux avec la ZF ?

A priori, je n'ai pas vu dans la doc un outil qui me permettrait de faire ceci par le biais du framework - Zend_feed permet juste de lire ces flux, non ? (je me trompe peut être...)

Merci,
Allfab

Hors ligne

 

#2 21-01-2008 17:39:10

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

Re: Construction Fil RSS [ZF 1.0.3]

Oui tu te trompes smile
Je te poste le code du rss de mon site perso, tu devrais arriver à l'adapter

Code:

<?php
require 'Zend/Feed.php';

class FeedController extends MoOx_Controller_Action {

    public function init() {
        parent::init();
        $this->_helper->viewRenderer->setNoRender();
        
        $this->nbEntries = $this->_request->getParam('nbEntries',20);
        $this->feedFormat = $this->_request->getParam('format','rss');
        $this->_prepareEntries();
    }
    
    private function _prepareEntries() {
        $postsTmp = $this->blog->getLastContents($this->nbEntries);
        
        $this->entries = array();
        foreach ($postsTmp as $post) {
            $urltitle = explode('-',$this->view->urlize($post->title));
            $oldUrltags = explode('-',$this->view->urlize($post->tags));
            $urltags = array();
            $i = 0;
            foreach($oldUrltags as $w) {
                if (!in_array($w,$urltitle)) {
                    $urltags[] = $oldUrltags[$i];
                }
                $i++;
            }
            $url = $this->view->url(
                array(
                    'id' => $post->id,
                    'tags' => implode('-',$urltitle).'+'.implode('-',$urltags)
                ),
                'billetDeBlog',
                true
            );
            $this->entries[] = array(
                'title' => $post->title,
                'link' => 'http://mr.moox.fr'.$url,
                'description' => $this->view->bbcode($this->view->content($this->view->contentIntro($post->content))),
                'lastUpdate' => strtotime($post->date),
                'content' => $this->view->bbcode($this->view->content($post->content))
            );
        }
    }
    
    public function indexAction() {
        // prepare an array that our feed is based on
        $this->feedArray = array(
            'title' => 'Le blog de Mr.MoOx - Web et Conneries',
            'link' => _URL,
            'lastUpdate' => (0 == count($this->entries) ? date('c', strtotime()) : date('c')),
            'charset' => 'utf-8',
            'description' => "Des actualités en tous genres et sur les technologies web (XHTML, CSS, Javascript, AJAX, PHP, Zend Framework...). Et bien sur, tout ça avec une touche d'humour!",
            'author' => 'Maxime Thirouin aka Mr.MoOx',
            'email' => 'contact@moox.fr',
            'copyright' => 'Mr. MoOx, all rights reserved',
            'generator' => 'Rewix (using Zend Framework Zend_Feed)',
            'language' => 'fr',
            'entries' => $this->entries
        );
       
        // create feed document
        $feed = Zend_Feed::importArray($this->feedArray, $this->feedFormat);

        // adjust created DOM document (je sais pas trop à quoi ca sert... mais apparement c pas vital)
        /*
        foreach ($feed as $entry) {
            $element = $entry->summary->getDOM();
            // modify summary DOM node
        }*/

        // send feed XML to client
        $feed->send();
    }
}
?>

Hors ligne

 

#3 21-01-2008 18:10:44

allfab
Membre
Date d'inscription: 02-10-2007
Messages: 40

Re: Construction Fil RSS [ZF 1.0.3]

Ok merci bien,

Vais de ce pas regarder ce que tu as fais et l'adapter à mon code !!

Content de m'être tromper....

Bonne soirée

Dernière modification par allfab (21-01-2008 18:11:15)

Hors ligne

 

#4 22-01-2008 13:22:02

allfab
Membre
Date d'inscription: 02-10-2007
Messages: 40

Re: Construction Fil RSS [ZF 1.0.3]

Bonjour,

J'ai réussi à adapter ton code et à générer un flux qui est ouvert par le biais du navigateur utilisé et ceci grâce à "$feed->send();".
Ce flux est donc généré à la volée lorsque que j'accède à mon controlleur et à l'action correspondante. Par contre, je désire l'enregistrer dans un fichier xml qui permettra aux abonnés du site de consulter le site via google Reader ou équivalent et de suivre l'évolution de celui ci mais je ne vois pas de methode adéquate.

Il y a bien la méthode ->saveXML(), mais celle ci ne me renvoit pas grand chose !!

Merci
Bonne Aprèm

Allfab

Hors ligne

 

#5 22-01-2008 13:32:15

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

Re: Construction Fil RSS [ZF 1.0.3]

Tu n'a pas vraiment besoin de l'enregistré en xml, perso si tu accèdes à mon flux via l'url controller/action (http://mr.moox.fr/feed/atom ou http://mr.moox.fr/feed/rss) ça marche très bien. Mon flux est dispo avec n'importe quel navigateur/aggrégateur (j'ai apr exemple testé le mien avec netvibes)
Si tu l'enregistre, tu devra le regénérer à chaque modifications. Alors qu'avec la technique send(), pas besoin il est regénérer à chaque fois!

Hors ligne

 

#6 11-07-2008 17:55:25

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Re: Construction Fil RSS [ZF 1.0.3]

Merci Mr.MoOx, ton exemple m'a aidé également.
Est-ce tehniquement possible de savoir combien de personnes sont "abonnées" à un flux RSS ?


Chan IRC de ZF en français : zftalk-fr

Hors ligne

 

#7 11-07-2008 19:11:42

squallmat
Membre
Date d'inscription: 25-06-2008
Messages: 19

Re: Construction Fil RSS [ZF 1.0.3]

Bonjour,

mon lien menant vers mon flux rss me propose de télécharger un fichier de type application/rss+xml contrairement aux votre qui envoient vers une page d'abonnement au flux.

pour info mon code :

Code:

    public function rssAction()
    {
        $this->news = new News();
                $nouvelles = $this->news->getNewsByLimit ( 10, 0 ); // flux des 10 dernieres entrees
        
        //print_r($nouvelles);
        
        $tempnouvelle = $nouvelles->current ();
        $pubDate = strtotime($tempnouvelle->date);
        $urlDeBase = 'http://127.0.0.1' . $this->_request->getBaseUrl ();
        
        $feedArray = array ('title' => 'Marenla',
                'link' => $urlDeBase . '/index/rss',
                'description' => 'dernières informations',
                'language' => 'fr-fr',
                'charset' => 'utf-8',
                'lastUpdate' => $pubDate,
                'generator' => 'Zend Framework Zend_Feed',
                'entries' => array ( ) );
                
        foreach ( $nouvelles as $nouvelle ) {
            $feedArray ['entries'] [] = array (
                                    'title' => $nouvelle->titre,
                                    'link' => $urlDeBase . '/index/voir/id/' . $nouvelle->id,
                                    'guid' => $urlDeBase . '/index/voir/id/' . $nouvelle->id,
                                    'description' => $nouvelle->contenu,
                                    'content' => $nouvelle->contenu,
                                    'lastUpdate' => strtotime($nouvelle->date));
        }
        
        print_r($feedArray);
        
        $feed = Zend_Feed::importArray ( $feedArray, 'rss' );
        
        foreach ($feed as $entry) {
            $element = $entry->summary->getDOM();
        }
        
        // pas de layout.html
        Zend_Layout::getMvcInstance ()->disableLayout (true);
        $this->_helper->viewRenderer->setNoRender();
        $feed->send();
    }

Je ne sais pas du tout d'où ça peut venir, une idée ?

Hors ligne

 

#8 12-07-2008 11:26:47

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

Re: Construction Fil RSS [ZF 1.0.3]

Est-ce tehniquement possible de savoir combien de personnes sont "abonnées" à un flux RSS ?

Feed Burner!!

Hors ligne

 

#9 14-07-2008 01:30:13

squallmat
Membre
Date d'inscription: 25-06-2008
Messages: 19

Re: Construction Fil RSS [ZF 1.0.3]

up... bon c'est déjà la discussion en tête de liste mais je bloque toujours donc ..^^

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