Olá! Neste artigo, mostrarei de forma simples como você pode exibir em seu site notícias em RSS. Escrevo este artigo, para exemplificar algo que fiz em meu site de trabalho, o Bill TEC, que está sendo desenvolvido com Laravel 4.1 e onde utilizo o WordPress. Neste blog, o RSS fica em: http://www.billjr.com.br/feed/
Agora, para integrar facilmente este conteúdo (no caso, os artigos) dentro do meu site de trabalho (ou seu projeto Laravel), faremos o seguinte:
Primeiro, vamos adicionar no arquivo composer.json o SimplePie, uma classe muito boa e completa para criar e ler RSS.
Adicione a seguinte linha:
"simplepie/simplepie": "dev-master"
Após isso, entre no terminal e use o comando:
composer update
Após a atualização/ instalação do simplepie, crie dentro da pasta /public uma pasta de nome cache, e dê permissão de escrita.
Agora, basta usar estes códigos em seu controller, ou até mesmo diretamente no arquivo routes, desta forma:
$feed = new SimplePie(); $feed->set_feed_url('http://billjr.com.br/feed/'); $feed->enable_order_by_date(true); $feed->set_cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache'); $feed->init(); return View::make('inicio')->with('feed', $feed);
No caso, estarei renderizando a view início, passando a variável $feed, desta forma:
<h2> Blog <a href=”<?php echo $feed->get_permalink(); ?>” target=”_blank”> <?php echo $feed->get_title(); ?></a> </h2> <nav> <?php $max = $feed->get_item_quantity(); for ($x = 0; $x < $max; $x++): $item = $feed->get_item($x); ?> <div class=”item”> <p class=”title”> <a href=”<?php echo $item->get_permalink(); ?>” target=”_blank”> <?php echo $item->get_title(); ?> </a> <small>Data: <?php echo $item->get_date(‘j F Y | g:i a’); ?></small> </p> </div> <?php endfor; ?> </nav>
Com isso, você exibirá uma listagem de artigos RSS com nome do blog, título do artigo, link e data. Existem outras opções de exibição, e a formatação fica a gosto de cada um.
Se quiser saber mais sobre a classe SimplePie, acesse o Wiki oficial com as informações de integração, geração e exibição de RSS: http://simplepie.org/wiki/reference/simplepie/start
Até o próximo artigo, pessoal!
Grande abraço!