RSS только последние темы

Автор kak2z, 11 сентября 2012, 18:14:17

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kak2z

Сейчас RSS выводит последние сообщения.. а можно ли как то сделать что бы была лента RSS которая бы выводила только вновь созданные темы? Вроде как блок "новые темы" в порталах?
Спасибо.

Пока ждал ответ решил почитать что такое RS лента)) оказалось ничего сложного)) сделал скрипт который выводит последние топики в виде RSS ленты


<?
require_once $boarddir . 'SSI.php';
require_once dirname(__FILE__) . '/SSI.php';

$domain = "http://ВАШ_ДОМЕН/index.php?topic=";

// Соединяемся с сервером базы данных
$dbconn = [at]mysql_connect($db_server,$db_user,$db_passwd);
if (!$dbconn) {
  echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
  exit();
}
// Выбираем базу данных
if (! mysql_select_db($db_name,$dbconn) ) {
  echo '<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>';
  exit();
}

/* ОБРАБОТКА ДАННЫХ И ПОСТРОЕНИЕ XML ФАЙЛА */
/* Показываем браузеру, что это xml-документ */
header("content-type:text/xml");
/* Выводим название и описание канала*/

echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<rss version=\"2.0\">
<channel>
<title>Дом 2 онлайн новости</title>
<link>http://durka.in</link>
<description>Видео онлайн проекта Дом 2, новости и описания эфиров</description>
<language>ru</language>";

//Выбрали 30 последних топиков
$result=mysql_query("
SELECT *
FROM  smf_topics
ORDER BY  id_topic DESC
LIMIT 0 , 30
");
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_array($result)) $last_topic[] = $row;
//Из выборки топиков создаем массив с данным первого сообщения топика
foreach($last_topic AS $key=>$value) {
$first_msg = $last_topic[$key][id_first_msg];
$result=mysql_query("
SELECT *
FROM  smf_messages
WHERE  id_msg = $first_msg
LIMIT 0 , 1
");
$row = mysql_fetch_array($result);
$full_topic[] = $row;
}

//Записываем XML данные
foreach ($full_topic AS $key=>$value){
$subject = $full_topic[$key][subject];
$poster = $full_topic[$key][poster_name];
$body = $full_topic[$key][body];
$id_topic = $full_topic[$key][id_topic];
$poster_time = $full_topic[$key][poster_time];
echo "<item>".
"<title>".strip_tags($subject)."</title>".
"<author>".strip_tags($poster)."</author>".
"<link>$domain".$id_topic.".0</link>".
"<description><![CDATA[".$body."]]></description>".
"<pubDate>".date("r",$poster_time)."</pubDate>".
"<guid>$domain".$id_topic.".0</guid>".
"</item>";
}
echo "</channel></rss>";
}

mysql_close($dbconn); // Разрываем соединение с MySQL
?>



Или все таки есть штатная возможность выводить RSS?
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

maestrosite.ru

Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

kak2z

О)) вот как раз это то что нужно было /index.php?type=rss;action=.xml;sa=news
Спасибо)))
зато понял как делать самому RSS ленту)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

r2017

Оно. Возможностей в ленте до фига.)

kak2z

Цитата: r2017 от 12 сентября 2012, 11:10:24
Оно. Возможностей в ленте до фига.)

Спасибо!! Спасибо всем за отзывчивость))!!
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

kak2z

хм)) помогите мне снова с лентой))
надо брать rss из двух разделов...

ЦитироватьNews (displays the first post from the most recent topics that you can see)
"Sub-action": news
Available options:
limit=x - display only "x" items
board=y - display only news topics from board "y"
boards=x,y,z - display only news topics from the specified boards
c=x or c=x,y,z - display only news topics from boards in the specified category/categories
Example: http://www.simplemachines.org/community/index.php?action=.xml;sa=news;board=72;limit=10

судя по этой инструкции надо в boards=x,y,z написать свои цифры) не получается.. получается только с одним разделом.. а второй игнорируется

пример))

http://kak2z.ru/index.php?action=.xml;sa=news;board=108,114;limit=10  - выводится только раздел 108
http://kak2z.ru/index.php?action=.xml;sa=news;board=114,108;limit=10  - выводится только раздел 114

что не так сделал?
Спасибо.
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

r2017

boards, когда выводятся несколько разделов?

kak2z

Цитата: r2017 от 03 октября 2012, 20:49:29
boards, когда выводятся несколько разделов?

спасибо))) а я 40 минут пытался понять в чем дело)) а дело в моей невнимательности))
Спасибо
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)