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.
Terimakasih banyak mas
akhirnya sekarang berhasil juga dari kemarin susah gagal terus.
terimakasih gan
Salam.
Mohon maaf..
Kalau untuk menampilkan beberapa feed dari sumber yang berbeda beda dalam satu halaman bagaimana yah caranya ?
Terimakasih.
terimakasih gan work cara nya
thanks gan work ternyata
om cari ambil imagenya gimana ya dari rss itu?
mas kalo di upload di website kok tcp error ya ?
Thanks brother. ini yang saya cari dan sekarang sudah berhasil. untuk menambahkan widget berita menggunakan rss dari wordpress……!! thank you so much……
Gan,, klo yang di tampilin Judul posting dan gambar thumbnail gimana kode nya…??
nah bener, ane juga pengen tanya yang itu…. sama gambarnya gimana??