Kherson Development Team feedback
Поиск по сайтам Kherson Development Team (gelos.org.ua, kdt.biz.ua), в том числе и по комментам.

PIN-коды
Игры, Кредитные карты, IP-телефония, Мобильная связь, Интернет провайдеры, Платежные системы, Спутниковая связь, Телефонная связьWorld of Warcraft, Steam: ключи активации, Другие игры, EA Store, Aion
Электронные книги
Наука и образование, Бизнес и экономика, Техническая литература, Юридическая литература, Компьютеры и интернет, Дом, быт, семья, досуг, Медицина, Художественная литература, Искусство и культура
Цифровые товары
ICQ номера, Базы данных, Мобильные телефоны, Дизайн, Доступ к платным ресурсам, Фотографии, Шаблоны для сайтов, Видео и аудиокурсы, уроки, Системы активной рекламы, Хостинг
Программное обеспечение
Интернет, Игры, Рабочий стол, Мультимедиа и графика, Мобильная связь, Программирование, Утилиты, Бухгалтерия, делопроизводство, Образование, наука, техника, Безопасность

PHP, PHP, Документация, Новости, Портфолио по технологиям, Портфолио по типам работ, Разработка программного обеспечения // Создание генератора RSS лент

Создание генератора RSS лент

          0 оценок

rssВо время разработки одного из заказов (известие о его окончании и подробный список правок скоро будет опубликован) нам была поставлена задача генерации RSS лент для разных типов объектов самописной CMS заказчика. После раздумий и анализа приводимых в Интернете материалов задача была выполнена :-)

Итак, каким же образом можно генерировать RSS ленты там, где отсутствуют готовые RSS генераторы?

На самом деле, все достаточно просто. RSS лента — это файл XML, приведенный к определенному стандарту, распознаваемому браузерами, программами-читалками лент и прочими приблудами :-) Этот файл, как и любой другой можно генерировать средствами PHP и наполнять данными из MySQL.

Структура файла имеет следующий вид:

<?xml version="1.0" encoding="windows-1251"?>
 <rss version="2.0">
 <channel>
 <title>RSS Название_сайта</title>
 <link>Адрес_сайта</link>
 <description>Описание_канала</description>
 <pubDate>Дата_ленты</pubDate>
 <lastBuildDate>Дата_ленты_еще_раз:)</lastBuildDate>
 <generator>Название нашего скрипта</generator>
 <copyright>Copyright год название сайта</copyright>
 <managingEditor>контактный_адрес_сайта</managingEditor>
 <webMaster>контактный_адрес_вебмастера_сайта</webMaster>
 <language>ru</language>
 <image>
 <url>адрес_логотипа_сайта</url>
 <title><![CDATA[Название_сайта]]></title>
 <link>адрес сайта/</link>
 </image>
 <item>
    <title>название_заголовка_новости_1</title>
    <description><![CDATA[текст_новости_1]]></description>
    <link>ссылка_на_новость_1</link>
    <guid isPermaLink="true">еще_раз_ссылка_на_новость_1</guid>
    <pubDate>дата_новости_1</pubDate>
 </item>
 <item>
    <title>название_заголовка_новости_N</title>
    <description><![CDATA[текст_новости_N]]></description>
    <link>ссылка_на_новость_N</link>
    <guid isPermaLink="true">еще_раз_ссылка_на_новость_N</guid>
    <pubDate>дата_новости_N</pubDate>
 </item>

</channel> </rss>

Как видите, структура ленты достаточно простая и понятная. Достаточно правильно написать шапку и концовку и в цикле сгенерировать <item></item> чтобы все работало. Из подводных камней необходимо обратить внимание на формат дат в RSS лентах.
Для приведения дат в лентах к правильному формату необходимо выполнять преобразование
$pubDate = date(DATE_FORMAT_RFC822, $source_date); где $source_date — дата в формате UNIX_TIMESTAMP.

Соответственно, если необходимо получить даты из базы данных MySQL и подставить их в ленту, в текст SQL запроса необходимо включить конструкцию UNIX_TIMESTAMP(struct.date) AS source_date, где struct.date — поле в таблице.

Линки по теме:

  • http://www.webmagazine.biz/articles/rss-2-0-lenta-na-php-5.html
  • http://www.internet-technologies.ru/articles/article_358.html
  • http://ru.wikipedia.org/wiki/RSS
  • http://cyber.law.harvard.edu/rss/rss.html

Как всегда, буду рад ответить на возникающие вопросы трудящихся по e-mail alex_krylov@inbox.ru или по ICQ 286-658-375

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Метки: , ,

Комментирование временно закрыто.

Задайте вопрос!

Поиск по сайтам Kherson Development Team (gelos.org.ua, kdt.biz.ua), в том числе и по комментам.


Rambler's Top100


Copyright © 2006-2012 Kherson Development Team — разработка сайтов, веб-приложений, багфикс, сопровождение, flash-ролики, Joomla, Virtuemart. All rights reserved.


Фанера. Продажа фанеры оптом и в розницу. Купить фанеру. Цена (стоимость) фанеры по тел: +7 (495) 632-01-81