吉安市新闻 | 吉安概况 | 吉安规划 | 县志 | 江西新闻 | 国内新闻 | 旅游风俗 | 特产美食 | 亲子健康 | 房产情感 | 数码科技 | 网络互联

supeiste的模型分类页面中增加RSS功能

热度182票  浏览41次 【共0条评论】【我要评论】【进入吉安论坛 时间:2012年8月16日 04:55

介绍一下在supeiste模型分类页面中增加RSS功能的方法

1,修改mthemes/default/category.html.php文件

查找

<!--{loop $guidearr $value}-->
&gt;&gt; <a href="$value[url]">$value[name]</a>
<!--{/loop}-->

 

在下面添加

&nbsp;<a href="#action/rss/catid/$_GET[mo_catid]/#"><img src="http://www.365coding.com/{S_URL}/templates/$_SCONFIG[template]/images/icon_rss_ext.gif"></a>

2,修改rss.php文件

将整个文件全部替换为

<?php

/*
    [SupeSite] (C) 2007-2009 Comsenz Inc.
    $Id: rss.php 13359 2009-09-22 09:06:19Z zhaofei $
    $modify by zj 2010-07-23 23:49:23Z $
*/

if(!defined('IN_SUPESITE')) {
    exit('Access Denied');
}

$catid = empty($_SGET['catid'])?0:intval($_SGET['catid']);
$rssdateformat = 'D, d M Y H:i:s T';

$query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('categories')." WHERE catid='$catid'");
$catvalue = $_SGLOBAL['db']->fetch_array($query);
if(empty($catvalue)) {
    $catid = 0;
}
$ismodel = 0;
if($_SCONFIG['channel'][$catvalue['type']]['type']=='model')
    $ismodel = 1;

$itemsarr = $wherearr = array();
$rssarr = array(
    'charset' => $_SCONFIG['charset'],
    'title' => $_SCONFIG['sitename'],
    'link' => S_URL_ALL,
    'description' => $_SCONFIG['sitename'],
    'copyright' => 'Copyright(C) '.$_SCONFIG['sitename'],
    'generator' => '365coding',
    'lastBuildDate' => sgmdate($_SGLOBAL['timestamp'], $rssdateformat),
    'items' => array()
);

if(!empty($catid)) {
    $rssarr['title'] = $catvalue['name'];
    if($ismodel)
        $rssarr['link'] = S_URL.'/m.php?name='.$catvalue['nameid'].'&amp;mo_catid='.$catid;
    else
        $rssarr['link'] = geturl('action/category/catid/'.$catvalue['catid'], 1);
    $rssarr['description'] = $catvalue['name'];
    $rssarr['copyright'] = 'Copyright(C) '.$_SCONFIG['sitename'];
}

$itemsarr = getrss($catid,$ismodel);
if(!empty($itemsarr)) {
    foreach($itemsarr as $key => $value) {
        $zj_url = '';
        if($ismodel)
            $zj_url = geturl('action/model/name/'.$catvalue['type'].'/itemid/'.$value['itemid'],1);
        else
            $zj_url = geturl('action/viewnews/itemid/'.$value['itemid'], 1);
        $rssarr['items'][] = array(
            'title' => $value['subject'],
            'link' => $zj_url,
            'description' => $value['message'],
            'category' => $value['name'],
            'author' => $value['username'],
            'pubDate' => sgmdate($value['dateline'], $rssdateformat)
        );
    }
}

showrss($rssarr);

function showrss($rssarr) {
    header("Content-type: application/xml");
    echo '<?xml version="1.0" encoding="'.$rssarr['charset'].'"?>
            <rss version="2.0">
              <channel>
                <title>'.$rssarr['title'].'</title>
                <link>'.$rssarr['link'].'</link>
                <description>'.$rssarr['description'].'</description>
                <copyright>'.$rssarr['copyright'].'</copyright>
                <generator>'.$rssarr['generator'].'</generator>
                <lastBuildDate>'.$rssarr['lastBuildDate'].'</lastBuildDate>';
                if(!empty($rssarr['items'])) {
                    foreach($rssarr['items'] as $key => $value) {
                        echo '<item>
                                <title>'.$value['title'].'</title>
                                <link>'.$value['link'].'</link>
                                <description><![CDATA['.$value['description'].']]></description>
                                <category>'.$value['category'].'</category>
                                <author>'.$value['author'].'</author>
                                <pubDate>'.$value['pubDate'].'</pubDate>
                            </item>
                            ';
                    }
                }
    echo '
        </channel>
    </rss>';
}

function getrss($catid,$ismodel) {
    global $_SGLOBAL, $_SCONFIG ;
    if($ismodel)
        include_once(S_ROOT.'/data/system/category.cache.php');
    $rssarr = array();
    $attacharr = array();
    if(empty($_SCONFIG['rssnum'])) $_SCONFIG['rssnum'] = 10;
    if($ismodel){
        $sql = "SELECT si.itemid, si.uid, si.username, si.subject, sn.*, si.dateline, c.name FROM ".tname($_SGLOBAL['category'][$catid]['type'].'items')." si INNER JOIN ".tname('categories')." c ON si.catid = c.catid LEFT JOIN ".tname($_SGLOBAL['category'][$catid]['type'].'message')." sn ON si.itemid = sn.itemid ";
    }else{
        $sql = "SELECT si.itemid, si.uid, si.username, si.subject, sn.*, si.dateline, c.name FROM ".tname('spaceitems')." si INNER JOIN ".tname('categories')." c ON si.catid = c.catid LEFT JOIN ".tname('spacenews')." sn ON si.itemid = sn.itemid ";
    }
    if(!empty($catid)) {
        $sql .= " where si.catid='$catid' ";
    $sql .= " ORDER BY si.dateline DESC LIMIT 100";
    }
    $query = $_SGLOBAL['db']->query($sql);
    while($items = $_SGLOBAL['db']->fetch_array($query)) {
        $othermsgarr = array();
        $items['message'] = cutstr($items['message'], 255, 1);
        if(!empty($othermsgarr)) $items['message'] = implode('<br>', $othermsgarr).'<br>'.$items['message'];
        if(!empty($items['hash'])) $attacharr[] = trim($items['hash']);
        $rssarr[$items['itemid']] = $items;
    }

    return $rssarr;
}
?>

 

搞定

TAG: RSS supeiste 功能 模型
顶:10 踩:10
对本文中的事件或人物打分:
当前平均分:-0.08 (52次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.36 (50次打分)
【已经有60人表态】
8票
感动 感动
10票
路过 路过
13票
高兴 高兴
6票
难过 难过
8票
搞笑 搞笑
5票
愤怒 愤怒
4票
无聊 无聊
6票
同情 同情
  • 上一篇:supesite自带的采集保存文章时自动添加tag的方法
  • 下一篇:supesite修改在发表评论后跳转到文章最终页
  • 发表评论
    换一张

    网友评论仅供网友表达个人看法,并不表明江西吉安网同意其观点或证实其描述。

    查看全部回复【已有0位网友发表了看法】

    吉安微搏

    网络资源