Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Установка Модулей (http://forum.mynuke.ru/forumdisplay.php?f=10)
-   -   RSS лента модуля News (http://forum.mynuke.ru/showthread.php?t=1086)

Erixon 04.01.2006 01:10

RSS лента модуля News
 
Кто знает, где узять модуль RSS лента модуля новостей.
Смотрел RSS лента модуля Downloads (http://mynuke.ru/modules.php?name=D...=getit&lid=165), но почемуто изменит не смог.
Кто подскажет, что там изменить чтобы это была лента новостей.

Soniks 04.01.2006 02:00

Erixon лента новостей идет по стандарту в php-nuke и вызывается так: http://site.com/backend.php

Erixon 04.01.2006 15:10

Да нашел.
Но как мне сделать, чтобы у меня выводился <description></description>(водный текст к статье, который отображается на модуле News) в ленте новостей.

У меня нюка 7.0.

Soniks 04.01.2006 22:35

Erixon посмотрите как это выполнено в версии 7,9, надо в sql запрос добавить поле hometext и затем его извлеч в данный тег.

ssmol 05.01.2006 00:31

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

Spider 07.01.2006 15:01

По умолчанию rss уже включена в Nuke, в файле BACKEND.PHP, только в это виде это полная фигня.
Сам лично использую отдельный файлик rss.php
PHP код:
<?php

include("mainfile.php");
global 
$prefix$db$nukeurl$tipath;
header("Content-Type: text/xml");

$rcopyright "Copyright 2002-2005, RMF Inc."
$gmttime date("D, d M Y H:i:s");  
$rtimezone "+0300";
$rssgenerator "..:: LiveRSS ::..";
$rttl=300;

    
$cat intval($cat);
if (
$cat != "") {
    
$result sql_query("SELECT catid from ".$prefix."_stories_cat where title LIKE '%$cat%' limit 1"$dbi);
    list (
$catid) = sql_fetch_row($result$dbi);
    if (
$catid == "") {
    
$result sql_query("SELECT sid, title, hometext, UNIX_TIMESTAMP(time) as 'time', aid FROM ".$prefix."_stories ORDER BY sid DESC limit 20"$dbi);
    } else {
    
$result sql_query("SELECT sid, title, hometext, time, aid FROM ".$prefix."_stories WHERE catid='$catid' ORDER BY sid DESC limit 20"$dbi);
    }
} else {
    
$result sql_query("SELECT sid, title, hometext, UNIX_TIMESTAMP(time) as 'time', aid FROM ".$prefix."_stories ORDER BY sid DESC limit 20"$dbi);
}

echo 
"<?xml version=\"1.0\" encoding=\"Windows-1251\"?>\n\n";
echo 
"<rss version=\"2.00\">\n\n";
echo 
"<channel>\n";
echo 
"<title>".htmlspecialchars($sitename)."</title>\n";
echo 
"<link>$nukeurl</link>\n";
echo 
"<description>".htmlspecialchars($backend_title)."</description>\n";
echo 
"<language>$backend_language</language>\n";
echo 
"<copyright>$rcopyright</copyright>\n";
echo 
"<lastBuildDate>$gmttime $rtimezone</lastBuildDate>\n";
echo 
"<generator>$rssgenerator</generator>\n";
echo 
"<ttl>$rttl</ttl>\n\n";
echo 
"<image>\n";
echo 
"<title>".htmlspecialchars($sitename)."</title>\n";
echo 
"<url>$nukeurl/themes/rmf/images/logo.gif</url>\n";
echo 
"<link>$nukeurl</link>\n";
echo 
"<width>169</width>\n";
echo 
"<height>60</height>\n";
echo 
"</image>\n";
echo 
"<copyright>".htmlspecialchars($sitename)."</copyright>\n";

//    while ($row = $db->sql_fetchrow($result)) {
    
while (list($sid$title$hometext$time$aid) = sql_fetch_row($result$dbi)) {
//            $rsid = intval($row['sid']);
//            $rtitle = $row['title'];
//            $rtime = $row['time'];
//            $rhometext = $row['hometext'];
//            $rtopicname = $row['topicname'];
//            $rtopicimage = $row['topicimage'];        
//            $rssttime = date ("D, d M Y H:i:s",$rtime);
        
$rsstime date("D, d M Y H:i:s"$time);


//    while (list($sid, $title) = sql_fetch_row($result, $dbi)) {
    
echo "<item>\n";
    echo 
"<title>".htmlspecialchars($title)."</title>\n";
    echo 
"<link>$nukeurl/article$sid.html</link>\n";
    echo 
"<description><![CDATA[$hometext <br><br><a href=$nukeurl/article$sid.html>Подробнее на сайте...</a>]]></description>\n";
    echo 
"<pubDate>$rsstime $rtimezone</pubDate>\n";                               
    echo 
"<guid>$nukeurl/article$sid.html</guid>\n";
    echo 
"<author>$aid</author> \n";
    echo 
"\n";
    echo 
"</item>\n\n";

    }
echo 
"</channel>\n";
echo 
"</rss>";

?>


В начале следует изменить $rssgenerator на что-то свое.
Только вот что касается закоментировнных строк, разберайся сам.
Теоретичски присобачить можно к разным модулям, на практике не проверял, да и не нужно было.

Erixon 20.01.2006 03:03

Spider, я не много не владах с PHP и поэтому спрашивою.
Во-первых, я хочу поставить rss на новости, нужно ли мне менять (и менять на какой и где его взять, и вообще что это такое) $rssgenerator.
Во-вторых, засунул фаил на сервак (сам вродебы работает), а вот через FeedReader не отображает.
В-третих, странно шифрует url статьи (напомню у меня нука 7.0) http://site.ru//article7637.html

В чем проблема.

с последним вопросам я разобрался


Часовой пояс GMT +4, время: 11:10.

Copyright © 2005 by Soniks