Criação de Feed para seu Site em Symfony
Olá amigos!
Dando seguimento à nossa série de tutoriais em Symfony, hoje vamos dar uma dica de como criar um feed RSS do seu site.
Atenção: Este tutorial é referente à versão 1.4 do Symfony
Primeiramente vamos baixar o plugin sfFeed2Plugin, que pode ser baixado gratuitamente aqui: http://www.symfony-project.org/plugins/sfFeed2Plugin
Após o download, inclua o coloque-o no seu projeto, na pasta “plugins” e registre-o em seu ProjectConfiguration.class.php. Pronto, agora podemos desenvolver o nosso feed!
Em nossa action, vamos criar nosso método para a geração do feed:
public function executeFeed(sfWebRequest $request) { // Retorna a lista a ser exibida no feed $news = Doctrine::getTable('News')->findAll(); //Nova instancia do feed $feed = new sfRssFeed(); $feed->setTitle('Notícias'); $feed->setLink('http://www.meusite.com.br/'); $feed->setAuthorEmail('joaopaulo.zica@verticis.com.br'); $feed->setAuthorName('João Paulo Zica'); $this->feed = $feed; foreach ($news as $new) { //Nova instancia dos itens do feed $item = new sfFeedItem(); $item->setTitle($new->getTitle()); $item->setLink('http://www.meusite.com.br/'. url_for('newsShow', $new)); $item->setAuthorName($new->getAuthor()); $item->setAuthorEmail($new->getAuthor()->getEmail()); $dateObject = new DateTime($new->getDate()); $item->setPubdate($dateObject->format('U')); $item->setUniqueId($new->getSlug()); $item->setDescription($new->getShortDescription()); $this->feed->addItem($item); } // Desabilita o layout $this->setLayout(false); }
Nosso feedSucess.php ficaria da seguinte maneira:
<?php echo $feed->asXml(ESC_RAW); ?>
Só nos falta configurar nosso cache, para habilitarmos o feed. Para isto, vamos incluir em nosso cache.yml a seguinte linha:
feed: enabled: true
Pronto, desta maneira você já possui um feed para seu site.
Qualquer dúvida, sugestão ou reclamação, utilize formulário de comentários.
