rss-aggregator

Jika anda pemakai Blogger atau WordPress  maka anda akan merasakan nyamannya meletakan RSS Feed ke widget website. Tinggal Drag widget, masukan URL kemudian lihat halamannya di website. Bagi yang belum paham, RSS Feed adalah teknik menampilkan Artikel dari website lain di Website kita, biasanya di letakan di Widget/Sidebar.

Sekarang bagaimana seandainya anda disuruh membuat website dengan PHP lalu client meminta agar di sidebarnya bisa menampilkan RSS feed terbaru dari Website lain? Cara termudah adalah  memanfaatkan kelas RSS opensource yang sudah dibuat oleh pihak lain, salah satunya adalah Anis uddin Ahmad (ajaxray.com).

Kelas ini diberi nama PHP Universal Feed parser karena memang kelas ini mampu memparsing format Atom,RSS v1 dan RSS v2. Agar tidak panjang lebar anda bisa mempelajari nanti kelasnya di file zip yang saya sertakan di download pada bagian bawah artikel.

Pada tutorial ini saya fokus pada teknik memparser dengan memanfaatkan kelas FeedParser dengan empat variasi tampilan. Tampilan demonya bisa anda lihat  disini.

Cara pemakaian kelas

include('FeedParser.php'); 
$Parser = new FeedParser(); 
$Parser->parse('http://kisahmuslim.com/feed/'); 
$channels = $Parser->getChannels(); 
$items = $Parser->getItems(); 

Kode diatas harus diletakandi awal file. Pada intinya kode tersebut menginstant kelas FeedParser lalu memparse alamat URL kisahmuslim.com/feed/. Catatan penting disini, masing masing Website mempunyai alamat RSS yang berbeda, namun untuk website yang dibangun dengan WordPress rata rata alamat URL RSS adalah http://namawebsite.com/feed/. Tampilan dari RSS feed bisa anda atur agar lebih cantik dengan CSS. Tampilan di halaman demo adalah tampilan RSS dengan CSS sederhana, anda bisa menyesuikan CSSnya di style.css yang disertakan di download.

menampilkan Hanya Judul artikel

Dalam tampilan  ini, RSS hanya menampilkan judul dalam list.Catatan penting disini,setiap item dalam XML yang akan kita tampilkan harus menggunakan huruf besar, lihat bagian LINK dan TITLE. Berikut ini kodenya


<ol>
    <?php foreach($items as $item): ?> 
<li>
<a class="feed-title" href="<?php echo $item['LINK']; ?>">
<?php echo $item['TITLE']; ?></a> 
</li>
    <?php endforeach;?> 
</ol>

Menampilkan judul, penulis, kategori dan tanggal

<?php foreach($items as $item): ?> 

<h3><a class="feed-title" href="<?php echo $item['LINK']; ?>">
<?php echo $item['TITLE']; ?></a></h3>

<strong><?php echo "Kategori: ".$item['CATEGORY']?></strong>,
<i><?php echo "Ditulis oleh: ".$item['DC:CREATOR']?></i>,

publish:<?php echo gmdate("d-M-Y H:i:s",$item['PUBDATE']);?>
    <?php endforeach;?> 

Perhatikan pada fungsi gmdate, fungsi ini dipakai karena sebagian website menyimpan data tanggal dalam format unixtime maka perlu kita konversi dulu kedalam format tanggal yang mudah dibaca pengunjung web.

Teknik menampilkan judul dan deskripsi

Teknik ini menampilkan Judul dan potongan artikel. Biasanya paragraf pertama dari artikel tersebut.

<?php foreach($items as $item): ?> 

<h3><a class="feed-title" href="<?php echo $item['LINK']; ?>">
<?php echo $item['TITLE']; ?></a></h3>

<?php echo ($item['DESCRIPTION']); ?>
    <?php endforeach;?> 

Teknik ke empat (Custom)

Teknik ini sebenarnya sama dengan teknik 3, namun ada sedikit perbedaan,secara default, kelas FeedParser akan menampilkan seluruh Item yang diambil dengan for ..each. Secara default biasanya 10 item terakhir, namun kita bisa atur agar kita hanya mengambil 5 data terakhir saja dengan memanfaatkan fungsi array_slice(). Selain itu, kadang DESCRIPTION juga terlalu panjang, kita juga bisa mengaturnya dengan memanfaatkan fungsi substr(). Untuk lebih jelasnya lihat contoh dibawah ini.

 <?php foreach(array_slice($items, 0, 5) as $item): ?> 

<h3><a class="feed-title" href="<?php echo $item['LINK']; ?>">
<?php echo $item['TITLE']; ?></a></h3>

<?php echo substr($item['DESCRIPTION'],0,60)."..."; ?>

    <?php endforeach;?> 

Demo dan Download

Coba demonya disini dan download source codenya disini.

Categories: PHP

Candra Adi Putra

Candra Adi Putra S.Kom adalah Alumni STMIK AKAKOM Yogyakarta. Ingin Kerjasama, Pasang Iklan, Membuat aplikasi Android atau Web? hubungi saya di candraadiputra (at) gmail (dot) com atau WA ke 081328533115

7 Comments

Airlagu · 8 March , 2019 at 8:28 pm

terimakasih gan work cara nya

RoketLagu · 24 July , 2017 at 2:46 pm

thanks gan work ternyata

4retaeta · 1 March , 2017 at 10:49 am

om cari ambil imagenya gimana ya dari rss itu?

adi fahmi · 31 January , 2017 at 10:45 pm

mas kalo di upload di website kok tcp error ya ?

Kiki Chaniago · 16 May , 2016 at 4:06 pm

Thanks brother. ini yang saya cari dan sekarang sudah berhasil. untuk menambahkan widget berita menggunakan rss dari wordpress……!! thank you so much……

Ghibratz · 8 February , 2016 at 2:56 pm

Gan,, klo yang di tampilin Judul posting dan gambar thumbnail gimana kode nya…??

    Rahmatdi · 4 May , 2016 at 12:45 pm

    nah bener, ane juga pengen tanya yang itu…. sama gambarnya gimana??

Tinggalkan Komentar plz!

This site uses Akismet to reduce spam. Learn how your comment data is processed.