CMS SmallNuke система построения сайтов

Здравствуйте, гость ( Вход | Регистрация )

14 страниц V  1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> RSS экспорт/импорт новостей, В формате RSS/XML
cargo
сообщение 08.05.2005, 08:18
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



1. Если кто-то сделал на SN2 экспорт своих новостей в RSS/XML - поделитесь пожалуйста, как. На форуме ничего про это не нашел.

2. Как сделать SN2 блок, показывающий заголовки из RSS/XML? ... или где посмотреть, как сделать?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Кирилл
сообщение 26.05.2005, 13:58
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 131
Регистрация: 28.03.2005
Из: Киев
Пользователь №: 1 394



ап


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
birlivka
сообщение 21.06.2005, 16:05
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 25
Регистрация: 01.02.2005
Пользователь №: 716



Цитата(cargo @ 08.05.2005, 05:18)
1. Если кто-то сделал на SN2 экспорт своих новостей в RSS/XML - поделитесь пожалуйста, как. На форуме ничего про это не нашел.

2. Как сделать SN2 блок, показывающий заголовки из RSS/XML? ... или где посмотреть, как сделать?
*



Я сделал так: создал папку (у меня она www.bershad.info/news) там файлы: .htaccess типа такого
Код
RewriteEngine On
RewriteBase /
RewriteRule ^news.xml news.php

Сам РСС файл для выдирания из базы (У меня он news.php)
Код
<?php
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n";
echo "<rss version=\"2.0\">\n";
echo "<channel>\n";
echo "<title>BERSHAD.INFO</title>\n";
echo "<link>http://www.bershad.info</link>\n";
echo "<description>Інформаційний портал Бершадського району</description>\n";
echo "<language>ru-ru</language>\n";
$db = mysql_connect("localhost", "user", "password");
mysql_select_db("database");
  $request = "SELECT *  FROM system_mod_news order by id desc limit 10";
  $result = mysql_query($request);
  while ($row = mysql_fetch_row($result)) {
   $date = date("D, d M Y H:i:s" , $row['6']);
   echo "<item>\n";
   echo "<title>$row[3]</title>\n";
   echo "<link>http://bershad.info/index.php?go=News&amp;in=view&amp;id=$row[0]</link>\n";
   echo "<description>$row[2]</description>\n";
   echo "<author>'БЕРШАДСЬКИЙ КРАЙ'</author>\n";
   echo "<pubDate>".htmlspecialchars($date)."</pubDate>\n";
   echo "</item>\n";
   };
mysql_close($db);
echo "</channel>\n";
echo "</rss>";
?>

Я думаю разберётесь что к чему, (ну типа хост указать, пароль, адрес сайт и т.д.)
Ну вот, теперь имеем РСС канал с адресом www.bershad.info/news/news.php
Чтоб ети новости теперь разместить на сайте, можно использовать что-то типа такого модуля:
Код

<?php
if (!defined('SN_SiteSystem')) {
   Header("Location: ../../index.php");
   exit;
}
$k = "1";
$limit = 10;
include("header.php");
echo "<center><a target=_blank href=http://www.bershad.info/><b><font color=#ff9933>WWW.BERSHAD.INFO Інформаційний портал</font></b></a><hr></center>";
echo "<center><table width=\"100%\" border=0 cellspacing=0 cellpadding=3>";
$backendURL = "http://www.bershad.info/news/news.php";
$limit = 10;
$file = fopen( $backendURL, "r");
if( $file ) {
$raw = fread( $file, 32000 );
fclose( $file );
if( eregi("<item>(.*)</item>", $raw, $rawitems ) ) {
$items = explode("<item>", $rawitems[0]);
$nb = count($items );
$max = (($nb-1) < $limit) ? ($nb-1) : $limit;
for( $i = 0; $i < $max; $i++ ) {
eregi("<link>(.*)</link>",$items[$i+1], $link );
eregi("<description>(.*)</description>",$items[$i+1], $title );
if($k == "1") {
echo "<tr><td bgcolor=#fafafa><p align=justify><a target=_blank href=$link[1] >$title[1].....</a></p><hr></td></tr>\n";
$k = "0";
} else {
echo "<tr><td bgcolor=#f0f0f0><p align=justify><a target=_blank href=$link[1] >$title[1].....</a></p><hr></td></tr>\n";
$k = "1";
}
}
}
}
echo "</table></center>";
include("footer.php");
?>

Он у меня даже в два цвета блоки красит :-) Ето я так, что б как то выдилялось.
Или создать свой блок..

Если проще, то вот Вам файли (в папке news преобразование в Рсс, в папке modules модуль для чтения етих же новостей)
Сильно не бейте, вообще то етот метод можно доработать (например, что б пользователь сам выбирал количиство новостей, стиль и т. д.) но на все как известно никогда нет времени..
Если есть вопросы, пишите.


Прикрепленные файлы
Прикрепленный файл  Rss_and_moduleRss.rar ( 1.67 килобайт ) Кол-во скачиваний: 1137


--------------------
Бершадь - Информационный портал города
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 21.06.2005, 16:53
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Спасибо! Будем примерять на себя :-)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Miha_hard
сообщение 05.07.2005, 11:20
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 01.02.2005
Пользователь №: 24



ну или вот так: создаешь в корне файл с таким вот кодом:
Код
<?php
define('SN_SiteSystem', true);
require_once("inc/all_function.php");
global $db, $conf;
header("Content-Type: text/xml");
$data = time();
$result = $db->sql_query("SELECT id, title, newsdate FROM ".$conf[prefix]."_mod_news WHERE newsdate < '$data' ORDER BY newsdate DESC LIMIT 20");
echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n\n";
echo "<!DOCTYPE rss PUBLIC \"-//Netscape Communications//DTD RSS 0.91//EN\"\n";
echo " \"http://my.netscape.com/publish/formats/rss-0.91.dtd\">\n\n";
echo "<rss version=\"0.91\">\n\n";
echo "<channel>\n";
echo "<title>".htmlspecialchars($conf[site_name])."</title>\n";
echo "<link>$conf[site_url]</link>\n";
echo "<description>Краткое описание сайта</description>\n";
echo "<language>ru-ru</language>\n\n";
while ($row = $db->sql_fetchrow($result)) {
   $rsid = intval($row['id']);
   $rtitle = $row['title'];
   echo "<item>\n";
   echo "<title>".htmlspecialchars($rtitle)."</title>\n";
   echo "<link>$conf[site_url]/index.php?go=News&in=view&id=$rsid</link>\n";
   echo "</item>\n\n";
}
echo "</channel>\n";
echo "</rss>";
?>

и все собственно..
А в варианте birlivka неучтена одна мелочь.. автоновости.. они у тебя будут показываться еще ДО размещения и сортироваться по id, а в случае использования автоновостей это совсем не обязательно значит по порядку..
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
maxc[22]
сообщение 05.07.2005, 12:24
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 133
Регистрация: 27.05.2005
Пользователь №: 1 729



пишет ошибку вариант от Михи
Ошибка синтаксического анализа XML: лишние данные после элемента документа
Адрес: tcmnews.net/rss.php
Строка номер 2, символ 1:<b>Notice</b>: Use of undefined constant prefix - assumed 'prefix' in <b>/home/tcmnewsnet/www/rss.php</b> on line <b>7</b><br />
^
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 05.07.2005, 12:29
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Вариант от birlivka после подгонки у меня работает на ура. Спасибо!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
viox
сообщение 07.07.2005, 18:30
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 397
Регистрация: 01.02.2005
Из: Израиль
Пользователь №: 551



Кроме подгонки изменял что нибудь с точки зрения поправки и улучшения?


--------------------
опубликованное пользователем изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 07.07.2005, 19:18
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Цитата(viox @ 07.07.2005, 17:30)
Кроме подгонки изменял что нибудь с точки зрения поправки и улучшения?
*


Нет, ничего не улучшал. А надо? Поставил свои реквизиты и всё.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 08.07.2005, 04:17
Сообщение #10


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



Мне не понравились твой новости в RSS тем, что нет краткого текста.. Заголовок это маловато будет wink.gif И еще читалкой RSS ноовости воспринимаются на ура.., а вот IE выдает ошибку sad.gif
Цитата
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.


--------------------------------------------------------------------------------

Access is denied. Error processing resource 'http://www.syac.ru/backend/news.php'.


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 08.07.2005, 08:04
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Ну ошибка из-за редиректа адреса, если входить напрямую - проблем нет а вот с дайджестом надо подумать, поискать как, поучиться и сделать... smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 08.07.2005, 10:44
Сообщение #12


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Вот попытался разобраться что к чему:
Вот этот код в php формирующим rss feed:
Код

echo "<description>$row[2]</description>\n";


Грабит текст из соответствующего второго поля базы (Datatype: VARCHAR(255) Flag: binary). Чтобы сделать дайджест надо грабить из 4-го поля (Datatype: TEXT Flag: none). Простая подмена на
Код
echo "<description>$row[4]</description>\n";
результата не дает... В инете глянул - не нашел (правда не пристально смотрел smile.gif ) Кто-то сможет подсказать решение?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 13.07.2005, 12:04
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



Архив разбил и перенес смотрите ниже.
Сделал модуль RSS каналов. Можно добавлять каналы других сайтов пока только админам. Если надо будет для пользователей (у каждого пользователя свои каналы), можно будет сделать. Так же сделал свой вариант RSS канала для собственного сайта (этот файл лижит в корне).
Если канал в кодировке UTF-8, перекодируется в ту, на которой сайт стоит. Тестируйте..

Сообщение отредактировал Nick - 19.07.2005, 08:40


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cargo
сообщение 14.07.2005, 13:08
Сообщение #14


Активный участник
***

Группа: Пользователи
Сообщений: 64
Регистрация: 11.03.2005
Из: Vilnius
Пользователь №: 1 308



Цитата(cargo @ 08.07.2005, 09:44)
Вот попытался разобраться что к чему:
Вот этот код в php формирующим rss feed:
Код

echo "<description>$row[2]</description>\n";


Грабит текст из соответствующего второго поля базы (Datatype: VARCHAR(255) Flag: binary). Чтобы сделать дайджест надо грабить из 4-го поля (Datatype: TEXT Flag: none). Простая подмена на
Код
echo "<description>$row[4]</description>\n";
результата не дает... В инете глянул - не нашел (правда не пристально смотрел  smile.gif ) Кто-то сможет подсказать решение?
*



Успешно работает следующий вариант:
Код
echo "<description>".htmlspecialchars($row[4])."</description>\n"


Тема закрыта.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 15.07.2005, 03:58
Сообщение #15


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



Ну.. вот столько уже скачиваний. Отпишите свое мнение..


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 15.07.2005, 04:16
Сообщение #16


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



To cargo: в твоем канале есть картинки.. У них должен был полный путь.


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
viox
сообщение 15.07.2005, 16:16
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 397
Регистрация: 01.02.2005
Из: Израиль
Пользователь №: 551



Кстати, а как rss вставить себе на сайт ввиде блока или модуля?


--------------------
опубликованное пользователем изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
omut
сообщение 15.07.2005, 17:25
Сообщение #18


Активный участник
***

Группа: Пользователи
Сообщений: 66
Регистрация: 01.02.2005
Пользователь №: 14



ни тот, ни другой вариант не определяются прогой FeedDemon которой сам пользуюсь ..., странно и очень жаль . А браузер читает, что неочень то успокаивает ..
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 16.07.2005, 10:13
Сообщение #19


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



To viox: я же выложил архив.. Там и есть модуль.. Или я что-то не так понял?

To omut: Посмотрю.. А проверял я броузером smile.gif и Maxthon'ом


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nick
сообщение 16.07.2005, 11:00
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 356
Регистрация: 01.02.2005
Пользователь №: 100



To omut: Не поленился поставил FeedDemon, проверил. Мой вариант точно работает smile.gif


--------------------
Изображение Изображение
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

14 страниц V  1 2 3 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18.11.2017, 09:21