Создание rss ленты с стилями на php. Создание и настройка RSS ленты. Как включить или отключить показ новостей из Дзена
Думаю, что многие слышали такие выражения RSS-канал новостей , RSS-лента новостей . А что такое RSS канал и как сделать RSS канал на своём сайте , уверен знают не все. Между тем сделать RSS ленту новостей у себя на сайте очень просто.
Если у Вас уже есть сайт, но Вы не пользуетесь этой технологией, то обязательно внедрите RSS новости на своём сайте, и уж тем более если об этом слышите впервые, дочитайте эту статью до конца.
Сначала немного теории.
RSS - семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами.
Проще говоря RSS - это обычные текстовые сообщения, представленные в удобном для пользователя виде, с помощью специального формата XML. Раньше для просмотра таких RSS-лент новостей, требовались специальные программы-агрегаторы. Но в последнее время все современные браузеры позволяют просматривать RSS каналы.
Если Вы заходите на какой либо сайт и видите вот такие (это с моего сайта ):
или подобные значки, знайте, на этом сайте есть RSS-лента новостей и Вы можете запросто на неё подписаться . Кроме того, браузеры поддерживающие RSS, сами подсказывают Вам об этом, если значек активный, значит RSS-лента на этом сайте существует и работает.
Что даёт RSS канал? Точнее: чем он полезен?
Владельцам сайтов (web-мастерам) - быстрое оповещение о новостях сайта всем людям, подписанным на Ваш RSS-канал, это своеобразная рассылка краткого анонса новостей сайта.
Посетителям сайта - соотвественно быстрое оповещение о новостяхи обновлениях сайтов, на RSS-каналы, на которые они подписаны. Например, у Вас есть 20 (50 и т.д. любимых сайтов) и постоянно просматривать эти сайты довольно хлопотно. Но воспользовавшись подпиской на RSS-каналы Вы моментально видите на каких сайтах появились новые статьи, уроки, материалы и т.д., имеете возможность просмотреть анонс каждой новости и перейти на эту новость по прямой ссылке .
Лично мне в этом плане очень нравится браузер Operа . Здесь при соединении с Интернетом, автоматически выкидывается окно с новыми RSS-новостями. Вам остается только кликнуть по этой новости и Вы попадаете на эту новую статью нужного сайта. Хотя неплохо организованы RSS новости и в браузерах Firefox и Internet Explorer последних версий.
Как сделать RSS ленту?
Есть много различных версий RSS, но мы возьмем одну из самых последних и наиболее стабильную версию 2.0 . И еще огорюсь, т.к. мы еще только начали изучать язык программирования PHP и следовательно не готовы к автоматизированному наполнению RSS-канала, то добавлять новости придется в ручную, но это довольно просто.
Итак, создайте новый текстовый файл с именем rss.xml . Скопируйте в этот файл код Листинга 1 .
Листинг 1.
|
Это краткий (фрагмент) листинг RSS канала новостей с моего сайта, естественно Вы его должны поправить файл rss.xml под свой сайт и под свои новости.
Текстовый файл с именем rss.xml Вы можете назвать как угодно, например luksweb_rss.xml или как то по другому, только помните, что нужно будет сделать видимую ссылку на Вашем сайте на этот файл . Ссылка может быть двух видов: или . Я использую и те и другие ссылки.
Всё, теперь считайте что RSS канал на Вашем сайте уже есть. Когда человек кликнет по такой ссылке, браузер откроет RSS-канал Вашего свайта и предложит подписаться на получение новостей. Вам остается только согласиться.
RSS-лента представляет собой замечательный стандартный компонент Joomla 3, но не многие полностью понимают как использовать его на сайте Joomla. А многие о нем вообще не знают В этом посте я познакомлю вас с RSS, расскажу как запустить и настроить RSS на вашем сайте стандартными средствами Joomla 3, а еще порекомендую пару лучших на рынке расширений для RSS-лент.
Краткое введение в технологию RSS и ее преимущества
RSS - это способ вывода содержания вашего сайта для показа и использования на других сайтах, способ показа нового контента, такого как заголовки новостей, сообщения на форуме, комментарии к новостям, видео-контент и события календаря.
К слову, данный способ вывода информации может пригодиться разработчикам мобильных приложений, чтобы отображать новости Joomla в мобильном приложении (хоть на Android, хоть на iOS, хоть на кроссплатформенных проектах).
Для пользователей, наибольшим преимуществом RSS является то, что они не должны идти на каждый сайт, чтобы увидеть, есть ли что-то новенькое на том или ином сайте, потому что новый контент сам централизованно придет к ним. С помощью RSS-канала, пользователи могут легко просмотреть все заголовки, а затем прочитать фрагмент каждой статьи и выбрать то, что им больше интересно.
Для владельцев бизнеса, RSS-ленты - отличная возможность. Путем создания RSS на своем сайте, они могут дать пользователям возможность подписаться на их контент, что в свою очередь означает, что вы можете превратить просто посетителя в постоянного читателя. Также, вы можете позволить продвигать ваш контент на других сайтах, или вы можете просто создать блог из RSS-ленты.
Итак, Вы сможете, выйти на новых клиентов и создать качественные обратные ссылки на ваш сайт.
Давайте приступим к созданию RSS-лента в новенькой Joomla 3.
Как создать RSS-ленту в Joomla 3
Шаг 1. Войдите в админ-панель вашего сайта
Шаг 2. Теперь в панели администратора перейдите в Компоненты - Ленты новостей
Шаг 3. Нажмите кнопку “Создать” в левом верхнем углу
Шаг 4. Откроется окно, в котором вам нужно заполнить Заголовок и вставить ссылку на саму ленту (о том, где взять ссылку чуть ниже)
Шаг 5. Сохраните изменения
Теперь возникает вопрос, где же взять ссылку на ленту?
Существует 2 варианта.
Вариант 1. Если вы хотите транслировать на своем сайте ленту с другого сайта, например, новости, то вам нужна рабочая ссылка на RSS-ленту этого сайта.
Существует огромное количество сайтов, которые дают возможность пользоваться их новостями. Например, можно использовать RSS-ленту РИА Новости. http://ria.ru/docs/about/rss.html
И это далеко не единственный сайт, который предлагает такие возможности. Вы без труда сможете найти их в интернете:)
Вариант 2. Но что, если вы хотите разместить свою ленту новостей Joomla на другом сайте или на своем собственном сайте?
Чтобы сделать это возможным - воспользуемся стандартным способом создания RSS из категории новостей Joomla.
Шаг 1. Откройте панель администратора - Материалы - Менеджер категорий.
Шаг 3. Запомните или скопируйте ID этой категории.
http://вашсайт.ru/index.php?option=com_content&view=category&id=НОМЕРАЙДИКАТЕГОРИИ&format=feed&type=rss
Например: simplesite.ru/index.php?option=com_content&view=category&id=5&format=feed&type=rss
А теперь создадим страницу пункта меню для вывода новости
Шаг 1. Откройте менеджер меню
Шаг 2. Создайте новый пункт меню с типом “Лента новостей”
Шаг 3. Назовите пункт меню
Шаг 4. Выберите созданную вами ленту
Шаг 5. Сохраните изменения
А теперь можно полюбоваться результатом.
Расширения для создания RSS в Joomla
Если же вы хотите немного упростить создание новостной ленты, то я порекомендую вам 2 расширения для Joomla:
1. obRSS
obRSS позволяет создавать неограниченное количество лент (или даже HTML страницу ленты) для вашего сайта на Joomla, который может выглядеть, как CNET, CNN, или BBC. Вы можете создавать, управлять и отображать все RSS-каналы в одном месте. Это расширение также можно использовать для вывода данных в json для использования в приложениях для iOS, Android.
2. RizVN FeedBurner
(бесплатный модуль)
RizVN FeedBurner - очень простой модуль, который выводит RSS в максимально красивом виде и экономит пространство на вашем сайте Joomla. Вы можете полностью настроить его в бекэнде.
В нем также есть много других функций, которые вам могут понравиться!
Доброго времени суток. Сегодня мы поговорим о настройке RSS ленты. Сначала мы разберёмся, что это такое, как правильно настроить и зачем вообще это нужно. Расмотрим все минусы и возможность их устранения.
Что это такое?
Каждый из вас читает несколько новостных сайтов. К примеру, вы читаете 3 блога, как вам узнать что вышла новая статья? Нужно зайти на три сайта и посмотреть, а теперь представьте, что делать этого не нужно, нужно будет зайти на 1 сайт и там вы узнаете всю нужную информацию о новых статьях. Звучит неплохо, согласитесь, теперь давайте разберём, для кого же она предназначена.
Если у вас есть свой блог или сайт, на котором публикуются различные новости, тогда RSS лента для вас. Она поможет вам раскрутить ваш сайт, но вот если у вас корпоративный сайт компании или визитка, тогда это бессмысленно, потому что на них информация обновляется не так часто. Вывод: rss лента нужна только на сайтах, где информация обновляется несколько раз в неделю.
По тому же принципу работают многие известные сайты и программы: "Яндекс.Дзен", "Новости в win 10" и др. На них собираются новости с других сайтов, где есть rss лента, они не пишут новости сами, он просто собирают их с других сайтов.
Как её сделать?
http://www.ссылка на сайт
Это стандартный вид RSS ленты. После этого нужно устрановить на сайт значок RSS. Вы можете пролистать в футер сайта и посмотреть как он выглядет, хотя я уверен, вы видели его уже сотни раз. Чтобы организовать возможность подписки на вашу RSS-ленту, необходимо сделать 2 вещи: 2. Вставить между тегами Этот шаг необходим для того, чтобы сообщить браузерам о наличии RSS-ленты - как вы помните, в уважающих себя браузерах есть свои rss-читалки. Вы можете внести дополнительную информацию о канале, сайте-источнике или авторе канала. language
Пример:
ru-ru Пример:
(Copyright 2017, Ivan Petrov) managingEditor
Пример:
webMaster
pubDate
lastBuildDate
cloud
Пример:
(В этом примере для запроса уведомления нужно отправить сообщение XML-RPC на ccc.com , порт 80, путь /RPC2 . Вызываемая процедура — myCloud.rssPleaseNotify.) ttl
image
Максимальная ширина — 144 (по умолчанию — 88). Элемент author
comments
enclosure
source
Ссылка на полный текст новости или статьи №1
Ссылка на полный текст новости или статьи №2
Организация подписки на RSS-ленту
Необязательные элементы RSS-канала
Язык, на котором написан канал. Позволяет сборщикам, например, объединять на одной странице все сайты на одном языке. Перечень допустимых значений этого элемента лежит .
Электронный адрес человека, ответственного за редакторский текст.
Адрес электронной почты человека, ответственного за технические аспекты канала.
([email protected] (Vasily Petrov)
Дата публикации текста в канале Дата и время в RSS соответствуют спецификации RFC 822 , за исключением того, что год может представляться двумя или четырьмя цифрами (последнее предпочтительно).
Время последнего изменения содержимого канала.
Указывает веб-сервис, поддерживающий интерфейс rssCloud, реализующий подписку на обновления канала. .
Время жизни - количество минут, на которые канал может кешироваться перед обновлением с ресурса.
Пример:
(
Изображение (в формате GIF, JPEG или PNG), которое может отображаться с каналом.
Максимальная высота — 400 (по умолчанию — 31).
Адрес электронной почты автора сообщения. Актуально, например, для RSS-лент онлайн-СМИ, в которых у каждой статьи - свой автор. Формат элемента:
URL страницы для комментариев, относящихся к сообщению. Формат элемента:
Описывает медиа-объект, прикрепленный к сообщению. Имеет 3 обязательных атрибута: url (адрес приложения), length (размер приложения в байтах) и type (тип приложения MIME). Пример:
Название RSS-канала, из которого получено сообщение, полученное из его
Вы наверняка знаете, что RSS лента WordPress (канал) отличается от сайта, и на один сайт можно создать сколь угодно различных RSS каналов. Не знаете? Читаем дальше.
RSS лента WordPress
RSS лента (канал, фид) это динамический файл формата XML, привязанный к домену сайта, формирующийся по определенным правилам. При публикации нового материала RSS лента этого типа материала дополняется и обновляется.
Если мы откроем файл RSS ленты сайта в браузере, то не увидим визуально понятной информации. Выглядит он так:
Чтобы сделать RSS канал читабельным, существуют, так называемые, RSS агрегаторы.
Важно! RSS агрегатор создаст из нечитабельного фида, отдельную rss ленту главной страницы сайта. Часто такие ленты называют «Новостная лента формата RSS».
Так как агрегаторов много, то можно создать сколь угодно RSS лент главной страницы сайта. У каждой ленты будет свой адрес в сети. Кроме этого, можно создать RSS канал не только для главной страницы сайта, но для различных разделов и новых комментариев.
Например , у вас интернет магазин на WordPress и все появление новых товаров вы отражаете в отдельном разделе «Новинки». Используя адрес фида этого раздела, вы можете создать новостную rss ленту раздела «Новинки». Эта лента будет нужна для создания новостной рассылки магазина.
Еще пример. У вас информационный блог WordPress и все новые статьи вы публикуете на главной странице. В этом случае достаточно создать rss ленту главной страницы блога, который будет пополняться материалом при выходе новой статьи или публикации новости на главной странице блога.
Адреса rss лент WordPress
CMS WordPress по умолчанию создает несколько RSS каналов сайта. Из них важны два главных (указаны относительные URL).
RSS лента WordPress в формате RSS2
- Фид последних записей /feed/
- Фид свежих комментариев /comments/feed/
- Фид последних записей /feed/rss/
- Фид свежих комментариев /comments/feed/rss/
- Фид последних записей /feed/rss2/
- Фид свежих комментариев /comments/feed/rss2/
В формате Atom
- Фид последних записей /atom/
- Фид свежих комментариев /comments/atom/
В формате RDF
- Фид последних записей /rdf/
- Фид свежих комментариев /comments/rdf/
В ядре системы есть файлы, которые выводят каждый из перечисленных фидов. Все лежат в каталоге wp-includes .
Для записей:
- feed-atom.php (лента в формате atom)
- feed-rdf.php (лента в формате rdf)
- feed-rss.php (лента в формате rss) устарел
- feed-rss.php (формат ленты rss2)
- feed.php (функции фид-лент )
Примечание: Файл feed.php это RSS-контейнер для функции bloginfo. С помощью функции get_bloginfo () Вы можете получить преобразованную информацию лишенную тегов и символов для использования в фидах сайта.
Комментарии
- feed-atom-comments.php (лента комментариев в формате atom)
- feed-rss2-comments.php (лента комментариев в формате rss2)
Значок фида на сайте
В последних версиях WordPress, этот виджет убран из коробочной версии. Теперь этот виждет можно найти на системном плагине «JetPack» под названием «ссылки RSS JetPack».
Настроить, что показывать в фиде сайта WordPress, можно и нужно в консоли на вкладке «Написание», пункты:
- В RSS-лентах отображать последние…
- Показывать в ленте…, анонс или полное содержание.
Вывод 1
- Главных RSS каналов (они же фид-ленты или фиды) сайта два: главной страницы и последних комментариев;
- RSS лента WordPress имеет четыре формата: rss (устарел), atom, rss2, rdf;
- С помощью rss-агрегаторов можно создать сколько угодно новостных rss-лент сайта.
Практика применения знаний о фидах WordPress
Для практического использования фид-лент сайта вам понадобится URL главного фида (/feed/) или URL новостного раздела, о котором я говорил в начале статьи (/category/name-category/feed/). feed можно поменять на нужный формат. Префикс category в URL используется в настройках по умолчанию.
Проверка фида
Для проверки фида сайта, нужно полный URL фида вписать в адресную строку браузера и проверить, как RSS лента WordPress отражается в браузере.
При желании или необходимости, можно проверить валидность фид-ленты на сервисе: http://validator.w3.org/feed/
Использование RSS ленты
Имея адрес фид-ленты сайта вы можете:
- Показать новости сайта на другом WordPress сайта используя виджет «RSS», записи из любой ленты RSS или Atom;
- Создать новостную рассылку на сервисе FeedBurner. Красивая рассылка со своей формой подписки;
- Показать новости сайта в новостных каталогах, например, LiveRSS: http://liverss.ru/ ;
- Создать новостную рассылку своим подписчикам на любом стороннем почтовом сервисе, типа MailChimp. Многофункциональная рассылка, интерфейс на английском языке, со своей настраиваемой формой подписки. Отлично интегрируется с WordPress.
Альтернативой FeedBurner и MailChimp может стать любой другой почтовый сервис: SmartResponder (умер 01-11-2016), UniSender (русс.), Aweber, а также Constant Contact, Campaign Monitor, GetResponse, ActiveCampaign, MyEmma, Mad Mimi, Infusionsoft, Feedblitz, HubSpot, MyNewsletterBuilder, Inbox First, Sailthru, Klaviyo, Vero, Pardot, Zapier, Ontraport, ExactTarget, Vertical Response, Drip, MailerLite, WhatCounts, ConvertKit, MailJet, Maropost.
RSS - семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами
Wikipedia
На многих сайтах можно увидеть кнопки или , что означает, что на этом сайте доступна лента новостей в формате RSS. Читателям сайта такой сервис удобен, поскольку при помощи Rss-агрегаторов, например, Yandex.Lenta или Kanban.ru можно собрать собственную новостную ленту и читать новости с разных сайтов в одном месте или получать их на свой e-mail при помощи сервиса Rss2Email . Подробнее об RSS читайте, например, в Компьтерре .
В этой статье речь пойдет не об использовании RSS-лент и агрегаторов, а о том, как быстро сделать новостную ленту на сайте при помощи программы RSS.PHP и MySql.
Начальные условия
Итак, у вас есть сайт, на котором есть поддержка PHP и работает база данных MySql (кстати, очень распространенное сочетание). Из базы, в которой хранятся тексты вашего блога или анонсы новостей и будем получать данные для нашей ленты. Лента будет строиться динамически, непосредственно при запросе, так что нужен только соответствующий скрипт. Вы можете написать его сами, но можете взять уже готовый
Немного теории
Для начала немного теории. Для нашей ленты будем использовать формат RSS 2.0, для тех кому интересно, направляю к описанию формата, который вы найдете . А мы будем использовать не все элементы, а только те, без которых действительно не обойтись:
Элемент | Описание |
title | Заголовок канала. |
link | Ссылка на главную страницу сайта. |
description | Описание канала. |
language | Язык, на котором написан канал. Например, ru - русский |
copyright | Копирайт |
managingEditor | Электронная почта редактора канала. |
webMaster | Электронная почта веб-мастера. |
pubDate | Дата публикации информации в канале. |
lastBuildDate | Время последнего изменения канала. |
category | Определяет категорию, к которой принадлежит канал. |
Item | Собственно содержимое канала. Должен быть хотя бы один элемент. |
Item
Элемент | Описание |
title | Заголовок |
link | Ссылка на полный текст |
description | Аннотация |
category | Категория |
pubDate | Дата публикации статьи. Некоторые агрегаторы не будут отображать статью, если указанная дата еще не настала. Но далеко не все. |
Поскольку RSS - это подмножество XML, то мы должны получить в итоге примерно следующее: Если будете что-то менять в скрипте, то проверяйте его на соответствие стандарту на сервисах Feed Validator или RSS Validator
Запуск программы
Программа состоит из следующих файлов: rss.php - файл запуска, rss.inc - включаемый файл с описанием класса, conn.inc - файл с описанием параметров соединения с базой данных.
Для запуска программы измените данные о соединении с БД в файле conn.inс, измените параметры ленты в файле rss.php и спишите в любой удобный каталог на Вашем web сервере, хоть в корневой. Не забудьте проверить структуру данных базы MySql, для программы можно использовать например, такую:
CREATE TABLE BLOG (ID int(11) NOT NULL default "0", title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default "", ab varchar(10) NOT NULL default "", PRIMARY KEY (ID)) TYPE=MyISAM;
после этого у вас будет лента с адресом
Что дальше?
А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами
:, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине, например, http://blogs.yandex.ru/add.xml и в каталоге http://blogs.yandex.ru/add-catalogue.xml
Бесплатно скачать программу для создания RSS-ленты, Rss.php (3 Кб) можно