Меню

Как сделать новостную ленту для сайта



RSS для вебмастера.

или как сделать RSS ленту за пять минут

RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами

На многих сайтах можно увидеть кнопки или , что означает, что на этом сайте доступна лента новостей в формате 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 Собственно содержимое канала. Должен быть хотя бы один элемент.
Элемент Описание
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://www.ваш_сайт.ru/rss.php

Что дальше?

А теперь не забудьте поставить на видном месте кнопку , и добавить в страницы вашего сайта код между тегами :

, чтобы браузеры понимали, что у вас есть лента. И, конечно же, зарегистрировать ленту в поисковой машине, например, http://blogs.yandex.ru/add.xml и в каталоге http://blogs.yandex.ru/add-catalogue.xml

Источник

Как добавить RSS ленту на сайт

Имеющаяся на сайте RSS-лента даёт возможность оперативно транслировать новости и обновления читателям. Формат этот несколько устаревший, но аудитория пользователей всё ещё большая. Возможность организации RSS-лент заложена во многие популярные движки, такие как WordPress, Joomla, Drupal и многие другие. Где-то эта возможность является штатной, а где-то реализуется с помощью плагинов. Рассматривать процесс установки плагинов не имеет особого смысла, поэтому мы попробуем разобраться, как организовать RSS-ленту своими силами, не используя плагины.

Читайте также:  Как сделать светодиодную ленту своими руками для авто

RSS-лента для статического сайта на html

Для начала мы рассмотрим ручной способ, позволяющий реализовать трансляцию новостей на любом сайте, даже на статичном, построенном на голых html-страницах. Данный функционал будем создавать с помощью простого кода, который размещается в файле rss.xml в корне сайта:

При необходимости, в данном коде можно указать язык ленты, что необходимо при её регистрации в некоторых каталогах RSS-лент, а также добавить дополнительные элементы.

Представленный код обновляется в ручном режиме. То есть, для внесения изменений необходимо открыть файл rss.xml и вписать в него новые данные. Нужно несколько новостей? Тогда редактируемый файл с лентой должен содержать в себе несколько конструкций следующего вида:

Каждая такая конструкция – это отдельная новость, которая располагается между тегами item. По мере добавления новостей, старые записи можно удалять. Количество записей может быть любым, но прописывать больше 10 последних новостей не стоит – вряд ли кому-то понадобятся устаревшие записи.

Автоматизируем создание RSS-ленты

Предположим, что наш сайт создан на самописной CMS, либо на CMS, у которой RSS-лента отсутствует. В этом случае необходимо разобраться в структуре базы MySql, используемой для хранения данных, и выяснить, как производится хранение данных о заголовках страниц, их адресах и содержимом страниц с новостями. Разобравшись со структурой базы, необходимо несколько модернизировать файл с RSS-лентой. Для начала, дадим ему другое расширение, чтобы в нём мог исполняться php-код, необходимый для работы с базой MySql. В противном случае наша RSS-лента не заработает. Необходимо переработать и внутреннее содержимое файла:

  • Реализуем подключение к базе данных;
  • Делаем выборку нужных данных, установив ограничение на 10 последних записей;
  • Выводим в цикле содержимое полученных переменных;

С первым пунктом всё понятно – нам нужно выполнить подключение к базе данных для забора оттуда информации. Второй пункт тоже понятен – нам нужно получить 10 дат, 10 id ссылок на страницы с новостями, 10 заголовков новостей и 10 тел новостей. В третьем тексте мы последовательно выводим всё то, что мы публиковали между тегами item в ручном формате нашей RSS-ленты. Таким образом, разобравшись в структуре базы данных, мы можем организовать RSS-ленту для любого ресурса. Такой подход хорош тем, что мы не касаемся исходного кода CMS и не создаём дополнительных нагрузок на хостинг – этим грешат некоторые плагины, нагружающие сайты километрами ненужного кода. Кроме того, наша методика позволит избавиться от возможных ошибок в функциональности действующего сайта на этапе внедрения RSS-ленты. Максимум, что может произойти, так это получение не тех данных, что нужны для формирования ленты на нашем сайте.

Теперь рассмотрим сам код:

Первые строки данного кода схожи с вышеописанным ручным кодом и содержат в себе общую информацию о нашей новостной ленте – это название, описание и полный адрес ленты. Даты последнего обновления ленты нет, но её можно реализовать, модернизировав исходный код. Далее производится выборка необходимых данных из MySql-базы и запускается цикл формирования RSS-ленты.

С датой новости, её текстом и заголовком всё понятно – они выводятся из переменных $title , $text и $date . Что касается ссылки на полную новость, то здесь берётся её id, после чего мы можем сформировать полную ссылку, опираясь на структуру формирования ссылок на нашем сайте. Например, ссылки могут иметь вид http://site.ru/news.php?id=48 . Здесь мы описываем лишь общий принцип формирования ссылок, поэтому при практической реализации в вышеуказанный код необходимо внести соответствующие изменения.

Как только формирование файла rss.php будет готово, мы можем заливать его на хостинг и приступать к тестированию.

Читайте также:  Что можно сделать из ленты органзы с проволочными краями

Полезные советы
Заходя на некоторые сайты, мы можем видеть в адресной строке браузера прямую ссылку на RSS-ленту этих сайтов. Для того чтобы не отставать от моды, проведём ещё одну модернизацию нашего сайта и добавим в него всего одну строчку кода:

Данная строка должна располагаться между тегами .

Источник

Техподдержка

Телефоны

  • +7(800) 511 08 86 (бесплатный)
    +7(903) 005 03 02
    +7(967) 005 08 80

  • Мы в соц. сетях


    Размещение сторонних RSS- лент на своём сайте

    Для того, чтоб RSS-лента отображалась корректно, нужно на сайте, ленту которого Вы желаете отображать на своем сайте, взять ссылку для вставки RSS-ленты.

    Для наглядности позвольте привести пример с Русобром, так как на сайте Русобра предоставляется ссылка для вставки на свой сайт.

    На сайте можно разместить не только свою RSS-ленту, но и RSS-ленты других сайтов, которые по вашему мнению интересны посетителям Вашего сайта.

    Для того, чтоб RSS-лента отображалась корректно, нужно на сайте, ленту которого Вы желаете отображать на своем сайте, взять ссылку для вставки RSS-ленты.

    Для наглядности позвольте привести пример с Русобром, так как на сайте Русобра предоставляется ссылка для вставки на свой сайт.

    В таком случае на сайте расположен спец.значок RSS-ленты —

    Для того, чтоб взять ссылку на их RSS-ленту, необходимо кликнуть правой кнопкой мыши по данному значку и выбрать пункт «Копировать ссылку».

    Приводим пример как взять ссылку на RSS-ленту сайта Правительства Российской Федерации

    Некоторые сайты не предоставляют отдельно ссылку на ленту.

    В таком случае на сайте расположен спец.значок RSS-ленты —

    Для того, чтоб взять ссылку на их RSS-ленту, необходимо кликнуть правой кнопкой мыши по данному значку и выбрать пункт «Копировать ссылку».

    Приводим пример как взять ссылку на RSS-ленту сайта Правительства Российской Федерации

    Для этого в Констуркторе установите курсор в месте, в котором Вы желаете разместить RSS-ленту (или выделив уже существующий объект), перейдите в меню Конструктора:

    Объекты — Вставка сторонней RSS-ленты.

    Полученную ссылку необходимо установить в ленте.

    Для этого в Констуркторе установите курсор в месте, в котором Вы желаете разместить RSS-ленту (или выделив уже существующий объект), перейдите в меню Конструктора:

    Объекты — Вставка сторонней RSS-ленты.

    В окне настроек ленты нажмите, пожалуйста, кнопку «Добавить» (или «Изменить») для установки/изменения ссылки на ленту сайта, новости которого Вы желаете отображать на своём сайте

    Также в этом окне Вы можете задать предпочитаемые параметры отображаемого на Вашем сайте блока RSS-ленты новостей стороннего сайта:

    • высоту блока (в пикселях);
    • ширину блока (в пикселях),;
    • количество отображаемых в блоке новостей (установленное значение 0 будет указанием к отображению всех новостей из ленты стороннего сайта)

    название блока (обычно указывается название сайта, откуда берется лента новостей)

    и саму ссылку, полученную на стороннем сайте.

    Нажатием кнопки «Добавить», или «Изменить» поднимается окно добавления/изменения ленты стороннего сайта, в котором необходимо вставить

    название блока (обычно указывается название сайта, откуда берется лента новостей)

    и саму ссылку, полученную на стороннем сайте.

    Важно:

    Отображаться ленты будут друг за другом, в порядке добавления в окне редактирования блока.

    Потому, при необходимости/желании установить несколько лент в одном блоке, разместите их, пожалуйста, в желаемом порядке сразу.

    Иначе потом придется удалять ленты и добавлять их в желаемой последовательности.

    Добавив ленту(ы) в окне редактирования блока, отметьте её(их) для того, чтоб она(они) отображалась(ись) в блоке.

    В блоке может быть как одна лента, так и несколько.

    Важно:

    Отображаться ленты будут друг за другом, в порядке добавления в окне редактирования блока.

    Потому, при необходимости/желании установить несколько лент в одном блоке, разместите их, пожалуйста, в желаемом порядке сразу.

    Иначе потом придется удалять ленты и добавлять их в желаемой последовательности.

    Добавив ленту(ы) в окне редактирования блока, отметьте её(их) для того, чтоб она(они) отображалась(ись) в блоке.

    Потому, если Вы желаете добавить несколько блоков, так, чтоб в них отображались разные ленты, установите, пожалуйста, отметку на той ленте, которую Вы желаете отображать в данном блоке.

    Также Вы можете добавить несколько блоков (в блоках будут отображаться все ленты, добавленные к проекту).

    Потому, если Вы желаете добавить несколько блоков, так, чтоб в них отображались разные ленты, установите, пожалуйста, отметку на той ленте, которую Вы желаете отображать в данном блоке.

    Для того, чтоб блок RSS-ленты стороннего сайта отобразился и на сайте,

    проведите, пожалуйста, полную (всегда крайне желательно перед публикацией проводить именно полную ) конвертацию и опубликуйте сайт.

    Источник

    Как опубликовать новости на сайте

    Вы создали новостную ленту, добавили в нее несколько новостей, но никак не можете найти их на сайте? Все верно: если лента не опубликована, то все добавленные в нее новости доступны только в админке, а на сайте не видны. Чтобы опубликовать новостную ленту, нужно создать специальную страницу, которая перенесет содержание раздела «Новости» на сайт.

    Если вы используете несколько новостных лент, для каждой из них нужно создать отдельную страницу.

    Как создать страницу новостей на сайте

    Откройте раздел «Страницы» на панели управления сайтом. Разверните список доступных страниц и выберите пункт «Создать раздел Новости».

    Заполните общие поля так же, как при создании обычной страницы: придумайте название для пункта меню, заголовок страницы, имя для построения URL. Сохраните активной галочку «Опубликовать на сайте».

    Если вы хотите, чтобы все новости на странице отображались вместе, вне зависимости от даты их создания, оставьте выключенной галочку «Показывать раздельно новости в прошлом (архив) и в будущем (скоро)». Если же, наоборот, вам нужно разделить события по вкладкам «Скоро» и «Архив», активируйте эту галочку.

    Такое разделение удобно, если вы используете новостную ленту для публикации афиши мероприятий: пользователи сразу смогут понять, какие события уже прошли, а какие можно посетить в будущем.

    Затем определите, сколько новостей будет отображаться на одной странице раздела. В этом поле можно оставить значение «0», заданное по умолчанию: тогда будут использованы настройки раздела «Новости».

    Самый важный шаг — привязка страницы к ленте новостей. Выберите в списке ту ленту, новости которой вы хотите опубликовать на создаваемой странице.

    Затем определите, будет ли отображаться дата создания новости в ленте, и если да, то в каком формате.

    Сохраните изменения, и выбранная новостная лента будет опубликована на сайте. Теперь вы можете использовать новости этой ленты, чтобы опубликовать их в блоке важных новостей на любой странице сайта или разместить в узкой колонке в виде виджета.

    Блок новостей можно добавить на любую страницу (например, на главную): тогда свежие новости будут на виду у пользователей, даже если они не станут посещать новостной раздел сайта.

    Виджет с новостями размещается в узкой колонке сайта: его можно настроить таким образом, чтобы последние новости были видны на любой странице сайта.

    Как редактировать страницу новостей на сайте

    Если вы захотите изменить название пункта меню, заголовок страницы новостей или формат даты, то найдите созданный вами новостной раздел в списке страниц сайта и нажмите «Редактировать».

    Внесите необходимые изменения и сохраните страницу.

    Если же вы хотите изменить название самой новости, ее содержание или миниатюру, то откройте раздел «Новости» на панели управления сайтом, выберите нужную ленту и найдите эту новость в списке. Затем нажмите кнопку «Редактировать» и внесите необходимые изменения в те поля, которые вы заполняли при создании новости.

    Также при необходимости вы можете изменить порядок новостей в ленте.

    Источник