Добавляем RSS-ленту на наш сайт в CodeIgniter

Добавляем RSS-ленту на наш сайт в CodeIgniter Добавление RSS в CodeIgniter по шагам. RSS ленты популярный способ получать обновления с ваших любимых сайтов как только таковые происходят. Не обделяйте и ваших посетителей такой штуковиной.

Начинаем внедрение RSS-ленты на сайт, работающий на CodeIgniter, с контроллера. Добавляем в контроллер (в какой вам удобно) функцию:

public function rss()  
{
    $data = array('feeds' => $this->rss_model->feeds_info());
    $this->load->view('rss_view',$data);
}

 

Не забываем указать путь в /application/config/routes.php:

$route['rss']            = 'ВАШ_КОНТРОЛЛЕР/rss';

 

Теперь в нашей модели rss_model добавляем функцию:

// Формирование RSS-ленты
public function feeds_info()
{
    $this->db->order_by('id','desc');
    $this->db->limit(20);
    $query = $this->db->get('articles');
    
    //Возвращаем массив с материалами для формирования ленты
    return $query->result_array();
}

И остаётся отображение rss_view. Приводим содержимое нашего вида:

<?php header("Content-type: text/xml");
echo '<?xml version = "1.0" encoding = "utf-8"?>'?>
<rss version = "2.0">
<channel>
<title>LOCO.ru - займись делом уже!</title>
<link><?=base_url()?></link>
<description>А вы умеете делать слоёное тесто? Вы помните, проснувшись, последние сны? Когда вы влюблены, вы всё равно уверены?</description>
<language>ru</language>
<image><url><?=base_url()?>img/logo.png</url></image>

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

<item>
    <title><?=$item['title']?></title>
    <link><?=base_url().'materials/'.$item['id']?></link>
    <description><![CDATA[<img align='left' vspace='5' hspace='10' src="<?= $item['small_img_url']; ?>" class='left' /><?=$item['short_text']?>]]></description>
    <guid><?=base_url().'materials/'.$item['material_id']?></guid>
    <pubDate><?=$item['date'];?></pubDate>
</item>

<?php endforeach;?>

</channel>
</rss>

Думаем вы разберётесь здесь в переменных, идея должна быть ясна.

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (1)     Подпишитесь на RSS комментариев к этой статье.

1 комментарий

#25
Владимир говорит:
July 4, 2011 at 09:44 pm
Вот спасибо! Были проблемы с лентой из за того, что не заключал в : и поэтому выдавалась какая-то ахинея. Нигде про это не писали, а в примерах на других сайтах этого не нашел. Еще раз grin спасибо добрый человек, спас от проблемы, сейчас все отлично работает!!!