Начнем с вопроса автоматизации формирования рассылок. Поскольку формат файла RSS стандартизирован, процесс автоматизации будет заключаться в добавлении новых публикаций и удалении старых.
Кроме того, должны меняться сведения о времени последней публикации в заголовке рассылки. Остальные же параметры заголовка рассылки должны оставаться без изменений.
Для автоматизации процесса формирования могут использоваться различные программные методы. Чаще всего для написания программ применяется язык PHP. Один из вариантов такой программы можно увидеть на сайте «Наклоняефф и Ко»".
Для формирования rss-рассылок можно воспользоваться специальными программамиДругой вариант — воспользоваться программой RSSify TNG. Хотя программа предназначена, в первую очередь, для преобразования в rss-формат блогов, с ее помощью можно создавать фиды и из обычных новостных страниц. В процессе настройки от вас потребуется ответить на несколько вопросов. Например, указать версию формата RSS, которую вы будете использовать, требуется ли сохранять HTML-форматирование страницы при преобразовании в формат rss, количество новостей, одновременно помещаемых в фид, язык, который будет поддерживаться вашей рассылкой. Следом идут вопросы о том, каким образом формировать заголовок фида, его описание, электронные адреса автора и вебмастера, настраивается принцип поиска и преобразования новостей с вашей страницы, и, в конечном итоге, имя файла, под которым будет сохраняться сгенерированный фид.
Подобная программа есть и на сайте VoidStar, опять же предназначенная, в первую очередь, для любителей блогов. Освоив программы, либо написав собственную и обработав свою новостную страницу, вы будете готовы предлагать рассылку посетителям вашего сайта. Но прежде чем это делать, нужно проверить — все ли у вас получилось так, как должно быть. Обычно свои ошибки распознать сложно, поэтому рекомендую обратиться к специальной службе. Услуги по проверке rss-рассылок предоставляет служба FEED Validator. С ее помощью можно проверить рассылки, подготовленные в любом формате RSS. Для этого нужно лишь ввести адрес вашей рассылки, и сервис проверит, все ли в ней соответствует правилам написания. Если есть несоответствия, то вам будут предложены варианты устранения ошибок. Впрочем, совершенно необязательно выполнять проверку на сайте. Программу можно использовать и на локальном компьютере, поскольку она является общедоступной.
На рассылку можно не только подписаться, но и разместить на своем сайтеТеперь перейдем к следующему вопросу — как разместить на своем сайте не ссылку на чей-то rss-фид, а новости, полученные из этой рассылки. Проблема заключается лишь в том, чтобы, получив очередной файл с новостями, обработать его и создать на его основе новую страницу либо занести полученные новости в базу данных, на основе которой страница формируется в динамическом режиме. Как и в предыдущем случае, возможны два варианта — написать процедуру обработки самостоятельно либо воспользоваться уже имеющимися программами. Я предлагаю присмотреться к программе zFeeder, распространяемой под лицензией GPL.
zFeeder — это PHP-скрипт, используемый для отображения RSS-контента. Он может использоваться для отображения контента на вашем сайте, в вашей интранет-сети или на десктопе. Программа поддерживает все версии RSS (0.9, 0.9х, 1.0 и 2.0). С помощью программы можно выводить wml-файлы на WAP-сайтах (для мобильных устройств).
Для использования программы необходимо, чтобы ваш хостер обеспечивал поддержку PHP (версии не ниже 4.2.0) и библиотеку Expat (входящую в установку PHP по умолчанию). Программа может работать под разными операционными системами — Linux, Windows и другими, — поддерживающими PHP.
Небольшая доработка сайта — и лучшие новости на ваших страницахДля установки программы создайте на своем сайте раздел newsfeeds и разархивируйте в него дистрибутив. Раздел cashe должен иметь атрибуты «write» и «execute», а файлы config.php и все файлы в разделе categories должны иметь статус writeable. После выполнения этих настроек откройте страницу /redir.php?url=your_domain%2Fnewsfeeds%2Fadmin.php%3C%2Fem%3E%2C где your_domain — это ваш сайт. Вы попадете на страницу настроек программы. С помощью панели администратора вы сможете добавить новые каналы, изменить или удалить уже подключенные, импортировать список каналов из файла описания каналов (opml), изменить настройки, управляющие выводом и сохранением данных.
zFeeder поддерживает два метода подключения для управления подписками. Первый — серверный вариант, использующий метод аутентификации Basic (не поддерживаемый теми серверами, которые используют PHP в качестве CGI-скриптов). Второй — сессионный, зависящий от конфигурации php.ini, этот метод может использовать cookies. Третий вариант отменяет доступ к административной панели, а для восстановления доступа нужно будет редактировать файл config.php и менять значение переменной ZF_LOGINTYPE.
<? include ('newsfeeds/zfeeder.php'); ?>
Этот скрипт может быть вызван с четырьмя дополнительными параметрами:
Если вы хотите выводить новости разных рассылок на различные страницы, их придется описывать дополнительно. Делается это подобно следующему примеру:
А такой вызов процедуры выведет на странице новости из рассылок 2 и 3 и будет показывать их с использованием различных шаблонов.
Мы определили страницы и правила вывода рассылок, и теперь нужно подумать о том, как эти рассылки будут обновляться. Имеется два варианта решения этой задачи. Первая — использовать Cron для автоматического обновления новостей. Вторая — вызывать процедуру обновления путем вызова специальной функции через браузер (в документации сказано, что такое обновление называется офлайновым).
Для разрешения офлайнового обновления имеется два варианта — установка значения параметра REFRESH_KEY как непустого и передача параметра 'zfrefresh' в скрипт обновления (при пустом значении параметра REFRESH_KEY обновление будет выполняться в онлайновом режиме). Задав параметру REFRESH_KEY какое-либо значение (например, your_keyword — через панель администратора), вызвать процедуру обновления новостей можно следующим образом:
Как уже говорилось, в состав программы включен ряд шаблонов, которые можно использовать для отображения новостей. Но если вам нужно что-то иное, вы можете либо отредактировать шаблоны по вашему вкусу, либо создать собственные. Описания переменных, используемых в шаблонах, приведены в документации.
Вот, собственно, и все, что хотелось рассказать про RSS-рассылки. Удобные, простые в использовании, не требующие больших затрат на сопровождение, уменьшающие трафик — вот что позволило им получить такое широкое распространение. Это — сегодняшний день Интернета. Что будет завтра?
Такой вызов скрипта может выглядеть следующим образом:
/redir.php?url=example.com%2Fnewsfeeds%2Fzfeeder.php%3Fzftemplate%3Dlogos
или так:
/redir.php?url=example.com%2Fpage_with_zfeeder.php%3Fzftemplate%3Dsome%26zfposition%3Dp3%2Cp5%2Cp1%3C%2Fem%3E
<? $_GET['zfposition']="p1,p2"; include('newsfeeds/zfeeder.php'); ?>
Такой вызов на странице, где он включен, будет выводить новости из рассылок 1 и 2.
<? $_GET['zfposition']="p3,p2"; $_GET['zftemplate']="logos"; include('newsfeeds/zfeeder.php'); ?>
/redir.php?url=example.com%2Fnewsfeeds%2Fzfeeder.php%3Fzfrefresh%3Dyour_keyword%3C%2Fem%3E%3Cbr%3E%3Cbr%3E Лучше и правильнее вызов процедуры обновления выполнять в качестве задачи Cron.
Ссылки по теме
Статья получена: hostinfo.ru