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.

feed-symfony

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.

Abir conversa
Precisa de ajuda?
Olá!
Como podemos te ajudar?