RSS adalah sebuah file berformat XML untuk sindikasi yang telah digunakan (diantaranya dan kebanyakan) situs web berita dan weblog.Teknologi yang dibangun dengan RSS mengijinkan kita untuk berlangganan kepada situs web yang menyediakan umpan (feed) RSS, biasanya situs web yang isinya selalu diganti secara reguler. Untuk memanfaatkan teknologi ini kita membutuhkan layanan pengumpul. Pengumpul bisa dibayangkan sebagai kotak surat pribadi. Kita kemudian dapat mendaftar ke situs yang ingin kita tahu perubahannya. Namun, berbeda dengan langganan koran atau majalah, untuk berlangganan RSS tidak diperlukan biaya, gratis. Tapi, kita biasanya hanya mendapatkan satu baris atau sebuah pengantar dari isi situs berikut alamat terkait untuk membaca isi lengkap artikelnya.
Kali ini saya tidak bahas rss secara mendalam, tapi cara membuat rss feed pada Codeigniter. Posting ini sebenarnya saya buat untuk melampiaskan kekesalan terhadap error saat membuat rss untuk website www.unduhlagu.com. Tulisan error yang keluar adalah :
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information – headers already sent by (output started at /home/unduhlagu/public_html)
Filename: libraries/Session.php
Line Number: 295
sebelum saya bahas apa penyebab error tersebut, langkah-langkah membuat rss feed pada codeigniter adalah sebagai berikut.
1. buat function pada model untuk mengambil data yang ditampilkan pada rss. contohnya pada model mp3 saya buat coding seperti berikut. :
{
$this->db->orderby(‘id_mp3′, ‘asc’);
$this->db->limit(10);
return $this->db->get(‘mp3′);
}
2. buat controller Feed yang isinya seperti berikut :
class Feed extends Controller
{
function Feed()
{
parent::Controller();
$this->load->helper(‘xml’);
}
function index()
{
header("Content-Type: application/rss+xml");
$data[‘encoding’] = ‘utf-8′;
$data[‘feed_name’] = ‘http://www.unduhlagu.com’;
$data[‘feed_url’] = ‘http://www.unduhlagu.com’;
$data[‘page_description’] = ‘Download lagu Mp3 Indonesia, mp3 gratis, mp3 terbaru, mp3 populer’;
$data[‘page_language’] = ‘en-ca’;
$data[‘creator_email’] = ‘unduh@unduhlagu.com’;
$this->load->model(‘mp3′);
$data[‘posts’] = $this->mp3->getRecentMP3();
$this->load->view(‘feed/rss’, $data);
}
}
3. buat file rss pada folder feed di dalam folder view (ribet ya?? maksudnya gini : view/feed/rss.php)
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title><?php echo $feed_name;?></title>
<link><?php echo $feed_url;?></link>
<description><?php echo $page_description;?></description>
<dc:language><?php echo $page_language;?></dc:language>
<dc:creator><?php echo $creator_email;?></dc:creator>
<dc:rights>Copyright <?php echo gmdate("Y", time());?></dc:rights>
<admin:generatorAgent rdf:resource="http://www.codeigniter.com/" />
<?php foreach($posts->result() as $entry): ?>
<item>
<title><?php echo xml_convert("download mp3 ".$entry->artis."-".$entry->judul); ?></title>
<link><?php echo site_url(‘downloadmp3/laguindonesia/’.$entry->id_mp3.‘/’.$entry->url_friendly) ?></link>
<guid><?php echo site_url(‘downloadmp3/laguindonesia/’.$entry->id_mp3.‘/’.$entry->url_friendly) ?></guid>
<description><![CDATA[
<?= str_replace(‘/img/post_resources/’, base_url() . ‘img/post_resources/’, $entry->lirik); ?>
]]></description>
<pubDate><?php echo date (‘r’, $entry->tgl_add);?></pubDate>
</item>
<?php endforeach; ?>
</channel></rss>
isinya silakan disesuaikan terutama pada variabel entry (fieldnya sesuai dengan database anda)
nah kadang2 jika kita membuat seperti diatas, akan muncul pesan warning :
penyebabnya bisa saja :
1. ada text yang keluar pada awal page rss (dari echo dsb)
2. pada controler yang saya buat diatas, saya sengaja tidak isi penutup tag ?>, maka errornya ilang. semoga bisa membantu.
cmiww ![]()
rss unduhlagu.com


thx inponya gan….

barubelajar´s last blog ..Barusan ikut survey berhadiah Blackberry gratis…
Thx kak..

nyari di google ketemu disini..
seep.