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.
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('[email protected]');
$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:
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.