Membuat RSS Sendiri di Laravel
|Shares :

Membuat RSS Sendiri di Laravel

RSS (Really Simple Syndication) feed tentunya sangat dibutuhkan baik kita sebagai pengguna RSS website orang atau kita yang membuat RSS feed website kita sendiri. RSS berfungsi untuk mendapatkan update informasi terbaru dari suatu website tanpa kita harus mantengin web tersebut. 

Contoh RSS Web ini : http://teknosains.com/feed  

Membuat RSS dengan Laravel


Kita buat file views misal kita beri nama rss.blade.php ,   lalu buat Class baru di Model misal nya kita kasih nama RssFeedModel.php. 

<?php
class RssFeedModel{
 public static function getRssFeed(){
     $rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
     $rssfeed.= '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">'. "\n";
     $rssfeed .= '<channel>'. "\n";
     $rssfeed .= '<atom:link href="'.Request::root().'/rss" rel="self" type="application/rss+xml" />'."\n";
     $rssfeed .= '<title>Asyyik RSS Feed</title>'. "\n";
     $rssfeed .= '<link>http://teknosains.com</link>'. "\n";
     $rssfeed .= '<description>Rss Saya </description>'. "\n";
     $rssfeed .= '<language>en-us</language>'. "\n";
     $rssfeed .= '<copyright>Copyright (C) 2013 blabla.com</copyright>'. "\n";
        $article = RssFeedModel::getArticles();
  foreach($article as $r){
     $link = Request::root().'/article/'.Str::slug($r->title);
            
   /*cek di feedvalidator.org, ada error, maka lakukan ini (sesuaikan saja haha)*/
   $desc= str_replace(array('&nbsp;','&nb','&nbsp','...','&'),
          array('','','','',''), trim(Str::limit(strip_tags($r->content),200)));
   $rssfeed .= '<item>' . "\n";
   $rssfeed .= '<title> '.$r->title.' </title>'. "\n";
   $rssfeed .= '<description> <![CDATA['.$desc.' ]]></description>'. "\n";
   $rssfeed .= '<link> '.$link.' </link>'. "\n";
   $rssfeed .= '<pubDate> ' . date("D, d M Y H:i:s O", strtotime($r->date_posted)) . ' </pubDate>'. "\n";
   $rssfeed .= '<guid> '.$link.' </guid>'. "\n";
   $rssfeed .= '</item>'. "\n";
    }//endforeach
        $rssfeed .= '</channel>'. "\n";
        $rssfeed .= '</rss>'. "\n";
        return $rssfeed;
}
 private static function getArticles(){
  $result = DB::table('t_article')
            ->select('t_article.id','t_article.title', 't_article.date_posted',
              't_article.content') ->orderBy('t_article.date_posted', 'desc')
          ->limit(15)->get();
  }
}//endClass
Sesuaikan Query dan Code diatas dengan kode anda masing-masing.

Setelah itu buka file rss.blade.php   ketik kode berikut
{{ FeedRssModel::getRssFeed() }}

Sekarang buka Routes.php tambahkan kode berikut
Route::get('/rss',function(){
   return Response::view('feed')->header('Content-Type','application/rss+xml; charset=ISO-8859-1');
});
Maka url rss nya misal : http://blabla.com/rss . jangan lupa cek ke validan RSS nya di feedvalidator.org 
Selesaii !!! happy coding

Demo : http://teknosains.com/feed Atau contoh hasilnya saat dibaca Web org http://linkis.com/sMOCW


Tags : #membuat-rss-laravel-php


SHARES :


Budy K's Avatar

Sains & Teknologi Enthusiast, Software Developer. Check my profile!
> 75% komen akan dibalas. Mohon sabar ya. Simpan halaman ini dan cek kembali lagi

Comments

* Email will not be published


    Privacy .ToS .Contact Us
    © 2017 Teknosains