Добавляем 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>Думаем вы разберётесь здесь в переменных, идея должна быть ясна.
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 CodeIgniter: Всплывающая форма обратной связи на Ajax в Bootstrap Modal и проверкой Captcha (18.02.2014)
- Как правильно обновить ExpressionEngine до последней версии 2.5.5 (05.02.2013)
- Team Sense: Доступна отправка сообщения/письма на email сотрудника. (18.01.2013)
- TeamSense: username (логин) в регистрации пользователя. Внедрили библиотеку DHTMLX в TeamSense. (11.01.2013)
- Team Sense: В календарь добавлена возможность указывать место проведения уроков (в офисе, на выезде) (12.12.2012)
- Team Sense: Многопользовательский календарь, заменяем радиокнопки на чекбоксы в выборе преподавателей. Массивы в Javascript. (06.12.2012)
- Team Sense: В календарь-расписание уроков добавлено разделение по преподавателям, которым присвоены свои цвета. (04.12.2012)
- CodeIgniter не передаёт $this->uri->segment(3) в функцию контроллера (передача переменной PHP->JavaScript->PHP) (28.11.2012)
- Воюем с форматом даты в JavaScript. Приведение формата даты в поле input в календаре системы TeamSense к более красивому виду. (18.11.2012)
- Team Sense: Теперь Email-оповещения в TODO можно отправлять как для руководителя задачи, так и для помощников. (21.09.2012)
- CodeIgniter и TeamSense: Делаем свой вид для страницы с ошибкой 404, настраиваем правильную отдачу статусов в HTTP headers (12.09.2012)
- Установка другого сайта (на CodeIgniter или Yii) в подпапку и чтобы поддомен ссылался на подпапку (25.08.2015)
- CodeIgniter: Подключение JS и CSS файлов там, где это нужно. (26.06.2012)
- Использование DISTINCT в SQL-запросах для исключения повторяющихся данных применительно к фреймворку CodeIgniter. (18.06.2012)
- CodeIgniter выдаёт ошибку: Cannot modify header information - headers already sent by (13.04.2012)
- CodeIgniter: Передаются пустые значения полей формы через $_POST если вводить русские символы. Форма не проходит валидацию. (17.08.2016)
- Обновление CodeIgniter с версии 2.0 (2.0.0) до версии 2.0.1 (23.01.2012)
- CodeIgniter: Показываем сообщения пользователю на его действия (19.11.2011)
- Настройка локальной и рабочей сред для разработки на CodeIgniter (2-й вариант) (22.01.2012)
- Календарь c несколькими событиями в один день на CodeIgniter (Calendar Multiple Events Per Day) (23.10.2011)
- Настройка локальной среды для разработки на CodeIgniter в Mac OSX, используя MAMP (22.01.2012)
- Обновление CodeIgniter с версии 2.0.1 до 2.0.2 (23.10.2011)
- CodeIgniter: Аутентификация на сайте с помощью библиотеки DX Auth (24.08.2011)
- Сравнение Yii с CodeIgniter (23.10.2011)
- CodeIgniter: Рассылка email по выбранным группам зарегистрированных пользователей и списку незарегистрированных пользователей (02.03.2013)
1 комментарий