Что такое RSS или чужие новости на нашем сайте
Главная - Новости 6 сентября, 2011
Что такое RSS, Joomla
Наверняка уже многие из вас не раз встречали в Интернете непонятное слово RSS. В нашей статье мы попробуем как можно проще объяснить, что же это такое и как этим пользоваться.
RSS – технология, которая используется для трансляции новостей с одного сайта на другой сайт или множество сайтов. Трансляция идёт в виде заголовков и описаний новостей или статей находящихся на сайте ретранслятора.
Сайты, которые используют RSS новостей, называются сайты-участники. К примеру, если на главном сайте добавляется или изменяется информация, то и на сайтах-участниках она так же изменяется.
Сама аббревиатура RSS имеет различные расшифровки, отражающие один и тот же смысл. Вот некоторые из них:
- Rich Site Summary — обогащённая сводка сайта;
- RDF Site Summary — сводка сайта с применением инфраструктуры описания ресурсов;
- Really Simple Syndication — упрощённое приобретение информации.
Разработка данной технологии началась в 1997, компания Netscape использовала ее для наполнения своего ресурса информацией. Именно тогда эта технология и получила широкое признание и применение.
Данная технология позволяет сделать информацию более точной и более коммуникабельной, так как происходит мгновенный обмен новостями между сайтами, с помощью ленты новостей, которая называется RSS-лента или RSS-канал.
RSS-канал будет особенно полезен тем, у кого сайты узконаправленной тематики. Данную технологию новостных лент особенно рекомендуется использовать ресурсам, которые имеют свою чётко выраженную аудиторию.
К примеру, если у вас сайт о мультфильмах, то вы можете найти ресурс, на котором похожая информация обновляется и пополняется каждый день. Допустим им будет сайт: http://mein.at.ua/ Теперь остаётся скопировать у них ссылку на RSS и поставить у себя в виде новостной лентой, тогда и на вашем сайте будут постоянно публиковаться ссылки на новости с вышеупомянутого сайта. Вашим посетителям это понравится. Вот пример одной из таких RSS лент — http://mein.at.ua/load/rss
Существует множество сайтов, где вам предлагается обширный список RSS лент разных тематик. Для того чтобы найти подобную ссылку, заходим в поисковик Google и набираем – RSS каталог. Из предложенных поисковиком ссылок выбираем наиболее популярный каталог, где и ищем подходящую нам тематику. Находим там ссылку и вставляем её на свой сайт по вышеуказанному способу.
Не забывайте, что на данный момент поисковыми системами данный вид потока не индексируется, единственное его предназначение — это информирование посетителей сайта новостями определенной тематики с другого сайта.
RSS можно вставлять практически на любые типы сайтов. В нашем случае мы рассматриваем вариант вставки RSS на сайты использующих скрипт Joomla. Рассмотрим самый простой модуль, который поставляется в комплекте вместе с Joomla 1.5 — «mod_feed».
Прочие варианты модулей вставки RSS-ленты вы можете найти на сайте http://ext.joom.ru/content-rss.html
Шаг 1
Зайдите на сайт как администратор. Выберете в меню вкладку Расширения -> Менеджер модулей.
Шаг 2
Перед вами менеджер модулей. В правом верхнем углу мы видим кнопку – СОЗДАТЬ.
Нажимаем на нее.
Шаг 3
Перед нами окно создания модулей, где мы должны выбрать пункт – «Лента новостей (RSS/RDF)». После этого нажимаем на зеленую стрелку в правом верхнем углу.
Шаг 4
Теперь мы должны выбрать настройки для своей ленты новостей. В принципе тут нам нужно написать только заголовок для RSS, выбрать, где он будет располагаться на сайте (Слева, справа, по центру и т.д.) И в параметрах в пункте URL ленты RSS указать источник, из которого будет поступать информация, вставив туда ссылку RSS с сайта источника новостей. Для сохранения настроек нажмите применить.
Вот и все, новостная лента готова. Заходим на сайт и проверяем что получилось.

В правом мы можем увидеть нашу RSS ленту.
Теперь посмотрим, как настройки могут влиять на вид ленты. Для этого вернемся в модуль с настройками.
Если мы поменяем их, то наша лента будет выглядеть иначе. В левом верхнем углу мы видим заголовок – Подробности. Тут мы можем задать условия для доступа (все, зарегистрированный, специальный), изменить позицию на сайте (справа, слева, по центру). Следующий заголовок – Назначение меню, в котором мы можем выбрать функции меню, либо все либо из списка. В параметрах мы можем выбрать показывать заголовок, описание, изображение ленты.
Теперь давайте поэкспериментируем и посмотрим, что получится. В пункте подробности поменяем позицию (справа – слева). В параметрах:
1 — URL ленты RSS (адрес RSS – ленты) оставляем тот же.
2 — RTL feed (указывает выравнивание, если установлен, то справа налево) убираем.
3 – Заголовок ленты (указывает, отображать ленту или нет) выбираем, нет.
4 – Описание ленты (указывает отображать описание для ленты или нет) выбираем, так же нет.
5 – Материалы (Количество одновременно отображаемых записей) оставляем без изменения.
6 – Описание материала (краткое описание для каждого элемента) выбираем, нет.
7 – Количество слов (количество отображаемых в описании слов) ставим, 0.
Сохраняем и смотрим, что получилось.
Теперь лента RSS находится слева, у заголовков нет описаний. Все изменения действуют.
В модуле RSS существует три вида настроек. Поэкспериментируйте ими с ними выберите наиболее подходящий для вашего сайта вариант показа новостей выбранной тематики.
Более подробно ознакомиться с функциями модуля и его кодом вы можете на сайте: «код модуля Feed» — (http://apostilas.fok.com.br/docs/joomla-1.5/nav.php?modules/mod_feed/index.php ).
Теперь рассмотрим, как вставить RSS ленту на обычный HTML сайт. Если в первом случае в Joomle уже стоял скрипт вывода RSS новостей на сайт, то в следующем случае, этот скрипт необходимо будет внедрить в ваш HTML код страницы.
Как это сделать. Один из вариантов – это использовать парсер RSS. Сначала установите его. (Парсер — это технология создания сайтов с помощью простого языка. Он немного сложнее HTML, но не требует особенного умения программировать). Существует много различных парсеров, каждый со своими преимуществами. Вот, например неплохой с использованием URL, который в тоже время легко перенастраивается на использование функций file_get_contents () и fopen (). Преимущество его заключается в возможности парсить сразу несколько RSS — лент.
Копируете код и сохраняете файл parse.php в один каталог с вашей страницей, на которой собираетесь разместить данные из RSS .
class rssReader {
var $rssFeeds;
// Class constructor
function rssReader () {
// Here are the feeds — you can add to them or change them
$this->rssFeeds = array (
0 => «Вставляете сюда ссылку вашего RSS фида»,
1 => «Второй фид»,
2 => «Третий»,
3 => «Четвертый»,
4 => «Пятый и.т.д»,//По аналогии копируете строчку и вставляете сколько угодно ссылок на фиды
);
}
function checkCache ($rss_url) {
$ttl = 60*60;// 60 secs/min for 60 minutes = 1 hour (360 secs)
$cachefilename = md5 (md5 ($rss_url));
if (file_exists ($cachefilename) && (time () — $ttl < filemtime ($cachefilename)))
{
//$feed = file_get_contents ($cachefilename);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $cachefilename);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$feed = curl_exec ($ch);
curl_close ($ch);
}
else
{
//$feed = file_get_contents ($rss_url);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $rss_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$feed = curl_exec ($ch);
curl_close ($ch);
// $fp = fopen ($cachefilename, 'w');
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $cachefilename);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec ($ch);
curl_close ($ch);
//$xmldata = split («\n»,$xmldata);
//foreach ($xmldata as $data);
//fwrite ($data, $feed);
//fclose ($data);
}
return $feed;
}
//
// Creates HTML from a FeedID in the array
// it makes $howmany entries
//
function createHtmlFromFeed ($feedid, $howmany) {
// Now we make sure that we have a feed selected to work with
$rss_url = $this->rssFeeds[$feedid];
if (!isset ($rss_url)) $rss_url = $this->rssFeeds[$feedid];
$howmany = intval ($howmany);
$this->createHtmlFromRSSUrl ( $rss_url, $howmany );
}
//
// Create HTML from an RSS URL
// it makes $mowmany entires
//
function createHtmlFromRSSUrl ( $rss_url, $howmany )
{
// Now we get the feed and cache it if necessary
$rss_feed = $this->checkCache ($rss_url);
// Now we replace a few things that may cause problems later
$rss_feed = str_replace ("", "", $rss_feed);
$rss_feed = str_replace («\n», "", $rss_feed);
// If there is an image node remove it, we aren't going to use
// it anyway and it often contains a #', $rss_feed, $title, PREG_SET_ORDER);
preg_match_all ('#
preg_match_all ('#
//
// Now that the RSS/XML is parsed... Lets Make HTML !
//
// If there is not at least one title, then the feed was empty
// it happens sometimes, so lets be prepared and do something
// reasonable
if (count ($title) <= 1)
{
echo "No news at present, please check back later.
";
}
else
{
// OK Here we go, this is the fun part
// Well do up the top 3 entries from the feed
for ($counter = 1; $counter <= $howmany; $counter++ )
{
// We do a reality check to make sure there is something we can show
if (!empty ($title[$counter][1]))
{
// Then we'll make a good faith effort to make the title
// valid HTML
$title[$counter][1] = str_replace («&», «&», $title[$counter][1]);
$title[$counter][1] = str_replace («'», «'», $title[$counter][1]);
$title[$counter][1] = str_replace («£», «?», $title[$counter][1]);
// The description often has encoded HTML entities in it, and
// we probably don't want these, so we'll decode them
$description[$counter][1] = html_entity_decode ( $description[$counter][1]);
// Now we make a pretty page bit from the data we retrieved from
// the RSS feed. Remember the function FormatRow from the
// beginning of the program ? Here we put it to use.
$row = $this->FormatEntry ($title[$counter][1],$description[$counter][1],$link[$counter][1]);
// And now we'll output the new page bit!
echo $row;
}
}
}
}
function FormatEntry ($title, $description, $link) {
return <<
{$title}
{$description}
Read more...
HTML;
}
function GetrssFeeds () {
return $this->rssFeeds;
}
function SetrssFeeds ($rssFeeds) {
$this->rssFeeds = $rssFeeds;
}
}// END OF THE CLASS
?>
Теперь на вашей странице в тег head вставляете вызов парсера.
include («parser.php»);
$myRSS = new rssReader ();
?>
Затем помещаете на нужные вам места на странице несколько тегов div и вставляете в каждый из них код:
$myRSS->createHtmlFromFeed (0,5);
?>
В скобках первая цифра это номер фида (из файла parser.php), вторая — количество новостей из этого фида которые будут отображаться, в данном случае номер фида -0, новостей- 5.
Далее по аналогии вставляете в другой div:
$myRSS->createHtmlFromFeed (1,5);
?>
В этом случае будут отображаться 5 новостей из фида под номером 1.
Специально для Ячайник, Инна Милосердова
Еще о Что такое RSS или чужие новости на нашем сайте
Как создать ленту новостей ( RSS ) в Joomla
RSS, ленты новостей, Joomla, Как создать ленту новостей В одном из материалов мы рассказывали про ленты новостей, которые известны интернет-сообществу под
Очередные перебои в работе поддержки
Последний месяц провайдер стабильно, примерно каждую недельку, устраивает мне локальный коллапс интернета (т.е этот самый интернет напрочь отключается вместе с
Что такое RSS, как им пользоваться и чем читать
Сегодня я расскажу Вам что такое RSS, зачем оно нужно и как им пользоваться. Общее описание. RSS – это формат, предназначенный для
Mozilla Thunderbird — как настроить электронную почту?
Mozilla Thunderbird, настройка почты, учетные записи Среди программных продуктов организации Mozilla Foundation большой популярностью у пользователей пользуется, как браузер Firefox, так
Планшет Sony Tablet P – скоро в России!
На многих новостных сайтах, посвященных новинкам в сфере компьютеров, появилась информация о началах продаж нового планшетника Sony Tablet P, который