В данной статье собрана информация о стандартной ленте новостей phpBB 3.0.7 и phpBB 3.0.8 (ATOM feed).
Исправления и дополнения приветствуются.
Оригинал статьи: FAQ: phpBB 3.0.7 / 3.0.8 ATOM feed.
phpBB 3.0.7-PL1
В phpBB 3.0.7-PL1 исправлена проблема безопасности (не вводя имени и пароля, т.е. являясь незарегистрированным пользователем, подписчик имел возможность читать содержимое форумов, к которым не имел доступа в качестве гостя).
phpBB 3.0.8
Функциональных изменений в ленту новостей ATOM feed не внесено.
Формат ленты новостей
Стандартная лента новостей phpBB 3.0.7 / 3.0.8 представлена в формате ATOM, НЕ RSS, некоторые программы для чтения новостных лент могут не отображать корректно данный формат. Несмотря на соответствие стандартам ATOM, лента нестандартно структурирована. Поддержка лент новостей в формате RSS в phpBB 3.x в настоящий момент не планируется.
Как включить и как прочесть новостную ленту
Для включения ленты новостей, зайдите в администраторский раздел, на главной странице в секции "Конфигурация" пройдите по ссылке "Каналы новостей".
1)Установите параметр "Включить каналы новостей" в положение "Включено".
2)Установите параметр "Включить общий канал новостей" в положение "Включено".
Оставьте другие настройки в значениях по умолчанию.
После этих настроек, на странице списка форумов браузер должен отобразить активный значок ленты новостей в адресной строке или рядом с ней, с помощью которого можно открыть ленту новостей. Например: Чтение ленты новостей с помощью ссылки
Образец ссылки для использования в браузере, поддерживающем ленты новостей, или в программе чтения лент новостей:
http://yoursite.xx/phpbb/feed.php
Действительная ссылка (путь к feed.php) зависит от ВАШЕЙ конкретной конференции.
Безопасность, права доступа и ограничения доступа
Лента новостей отобразит содержимое форумов в соответствии с назначенными пользователю правами доступа. Если вход на конференцию не осуществлен, будут применены права доступа для гостей. В противном случае, имя и пароль, использованные для входа на конференцию, будут использованы лентой новостей для отображения содержимого соответствующих форумов.
Содержимое форумов, для чтения которых необходимо ввести пароль, не отображается.
Настройки каналов новостей
В зависимости от того, включена ли лента новостей, какие настройки выбраны и какая страница конференции просматривается:
a) отображается значок ленты новостей в браузере
b) одна или более лент новостей могут быть выбраны посредством использования значка из выпадающего меню
c) ленты новостей могут быть выбраны через прямые ссылки с параметром
Пояснения к настройкам ленты новостей:
Общие настройки каналов новостей
Включить каналы новостей = Включение или отключение каналов новостей для всей конференции. При отключении этой опции будут отключены все каналы новостей, независимо от указанных ниже параметров.
Статистика элементов = Отображение индивидуальной статистики под элементами канала (такой как автор сообщения, дата и время публикации, количество ответов и просмотров).
Разрешить HTTP-аутентификацию = Включение данной настройки позволит открывать ленту новостей по ссылке с параметром auth=http
URL = feed.php?auth=http
Эта возможность позволяет ввести имя и пароль пользователя (зарегистрированного на конференции) для чтения ленты новостей. При этом будет отображено содержимое в соответствии с правами доступа (например, форумов, недоступных для незарегистрированных пользователей).
Большинство программ чтения лент новостей позволяют использовать данный метод аутентификации.
При переходе по такой ссылке в браузере, будет отображена форма для ввода имени и пароля. В зависимости от версии браузера, имя и пароль могут указываться непосредственно в адресной строке, например:
http://username:password@yoursite.xx/phpbb/feed.php?auth=http
Internet Explorer больше не позволяет вводить имя и пароль в адресной строке (см. Microsoft KB 834489), в Firefox будет отображено окно подтверждения.
См. Microsoft KB 917125 для получения информации об аутентификации в Outlook 2007.
Некоторые веб-серверы требуют внесения изменений в файл .htaccess, находящийся в корневой папке конференции, путем удаления знака # перед следующими строками:
Код: Выделить всё
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>
Количество элементов = X (по умолчанию 10).
Включить общий канал новостей = Лента с X последних сообщений всех тем всех форумов.
URL = feed.php
Включить каналы форумов = Лента с X последних сообщений всех тем выбранных форумов.
URL = feed.php?f=[ForumID]
Включить каналы тем = Летна с X последних сообщений выбранных тем.
URL = feed.php?f=[ForumID]&t=[TopicID]
Настройки каналов тем
Настройки каналов тем = Y (по умолчанию 15).
Количество элементов = Лента, состоящая из первых сообщений Y последних тем всех форумов.
URL = feed.php?mode=topics
Включить канал новых тем = Лента, состоящая из Y последних сообщений, за последние 7 дней, для форумов с включенной функцией отображения активных тем.
URL = feed.php?mode=topics_active
7 дней = задается в файле feed.php (может быть изменено редактированием файла feed.php, с последующей очисткой кэша браузера):
Код: Выделить всё
var $sort_days = 7;
URL = feed.php?mode=news
Прочие настройки каналов новостей:
Включить канал форумов = Лента, состоящая из списка наименований всех форумов (без содержимого форумов), за исключением форумов, к которым отсутствует доступ, но включая форумы, для чтения которых требуется ввести пароль.
URL = feed.php?mode=forums
Исключить данные форумы = Исключение форумов из всех каналов новостей.
Добавление значка ленты новостей для нестандартных стилей
Если используются нестандартные стили (не ProSilver, не SubSilver2 и не ProSilver Special Edition), вам может понадобиться изменить файл overall_header.html в папке /styles/yourstyle/template для появления значка ленты новостей в браузере:
Find:
Код: Выделить всё
<title>{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}</title>
Код: Выделить всё
<!-- IF S_ENABLE_FEEDS -->
<!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{U_FEED}" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{U_FEED}?mode=news" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{U_FEED}?mode=forums" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{U_FEED}?mode=topics" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{U_FEED}?mode=topics_active" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{U_FEED}?f={S_FORUM_ID}" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{U_FEED}?f={S_FORUM_ID}&t={S_TOPIC_ID}" /><!-- ENDIF -->
<!-- ENDIF -->
Добавление значка ленты новостей к заголовку форума
Если вам необходимо добавить значок ленты новостей к заголовку форума, отредактируйте файл overall_header.html в папке /styles/yourstyle/template следующим образом:
Find:
Код: Выделить всё
<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a> <!-- BEGIN navlinks --> <strong>‹</strong> <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks --></li>
Код: Выделить всё
<!-- IF S_ENABLE_FEEDS --><li class="rightside"><a type="application/rss+xml" href="{U_FEED}"><img src="feed-icon-14x14.png" alt="{L_FEED} - {SITENAME}" title="{L_FEED} - {SITENAME}" /></a></li><!-- ENDIF -->
Внимание: Значок "feed-icon-14x14.png" должен быть загружен на ваш сервер и путь к нему должен быть корректным.
Добавление значка ленты новостей в списке форумов для стилей на базе prosilver
OPEN styles/prosilver/template/forumlist_body.html
Find:
Код: Выделить всё
<!-- IF S_ENABLE_FEEDS and forumrow.S_FEED_ENABLED --><!-- <a class="feed-icon-forum" title="{L_FEED} - {forumrow.FORUM_NAME}" href="{U_FEED}?f={forumrow.FORUM_ID}"><img src="{T_THEME_PATH}/images/feed.gif" alt="{L_FEED} - {forumrow.FORUM_NAME}" /></a> --><!-- ENDIF -->
Код: Выделить всё
<!-- IF S_ENABLE_FEEDS and forumrow.S_FEED_ENABLED --><a class="feed-icon-forum" title="{L_FEED} - {forumrow.FORUM_NAME}" href="{U_FEED}?f={forumrow.FORUM_ID}"><img src="{T_THEME_PATH}/images/feed.gif" alt="{L_FEED} - {forumrow.FORUM_NAME}" /></a> <!-- ENDIF -->