[经验]dede全站RSS订阅静态输出的办法

softyun3年前cms教程158

给大家分享一下实现DedeCMS Rss全站静态输出的方法,大家可以去尝试一下。
一、在CMS根目录下,新增rss.php文件,文件代码如下:

PHP代码 
     
<?php     
require_once (dirname(__FILE__) . "/include/common.inc.php");     
require_once (DEDEINC."/arc.partview.class.php");     
$pv = new PartView();     
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/rss.htm");     
header("Content-type:application/xml");     
$pv->Display();     
?>      
二、在默认模板目录(/templetes/default)中,新增rss模板文件,文件代码如下:

XML/HTML代码    
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}" ?>       
<rss version="2.0">       
<channel>       
<title>RSS订阅-{dede:global.cfg_webname/}</title>       
<link>{dede:global.cfg_basehost/}</link>       
<description>{dede:global.cfg_description/}</description>       
<language>zh-cn</language>       
<generator>{dede:global.cfg_webname/}</generator>       
<webmaster>{dede:global.cfg_adminemail/}</webmaster>       
{dede:arclist row='100' col='1' titlelen='200' orderby='pubdate'}       
<item>       
<link>/[field:arcurl/]</link>       
<title><![CDATA[[field:title function='html2text(@me)'/]]]></title>       
<author>[field:writer/]</author>       
<category>[field:typename/]</category>       
<pubDate>[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]</pubDate>       
<guid>/[field:arcurl/]</guid>       
<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>        
</item>       
{/dede:arclist}     
</channel>     
</rss>   
三、在后台——核心——频道模型——单页文档管理,增加一个单页面,“模板文件名”项中输入第2步中涉及的模板文件rss.htm,而“文件名”中输入未来Rss订阅地址,这里我就直接生成在CMS根目录下了。
 
四、更新一下缓存,并更新刚刚新增的单页面,即可看到全站性的RSS输出,以后很方便的就可以用各种RSS软件去登录Submit rss地址了。
 
因此,用单页发布产品信息会很普遍,可惜的是上面谈及的全站RSS静态输出的方法是无法提取单页的,所以我们还需要对rss的模板代码进行修改:

XML/HTML代码 
     
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}" ?>       
<rss version="2.0">       
<channel>       
<title>RSS订阅-{dede:global.cfg_webname/}</title>       
<link>{dede:global.cfg_basehost/}</link>       
<description>{dede:global.cfg_description/}</description>       
<language>zh-cn</language>       
<generator>{dede:global.cfg_webname/}</generator>       
<webmaster>{dede:global.cfg_adminemail/}</webmaster>       
{dede:arclist row='100' col='1' titlelen='200' orderby='pubdate'}       
<item>       
<link>wlxs[field:arcurl/]</link>       
<title><![CDATA[[field:title function='html2text(@me)'/]]]></title>       
<author>[field:writer/]</author>       
<category>[field:typename/]</category>       
<pubDate>[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]</pubDate>       
<guid>***[field:arcurl/]</guid>       
<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>        
</item>       
{/dede:arclist}     
/********调用单页的代码********/     
{dede:sql sql='Select * from dede_sgpage order by uptime asc limit 48'}       
<item>       
<link>***/[field:filename/]</link>       
<title><![CDATA[[field:title function='html2text(@me)'/]]]></title>       
<author></author>       
<category></category>       
<pubDate>[field:uptime function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]</pubDate>       
<guid>***/[field:filename/]</guid>       
<description><![CDATA[[field:body function='html2text(@me)'/]]]></description>       
</item>       
{/dede:sql}     
/********调用单页的代码********/     
</channel>       
</rss>   
仅供大家学习使用,希望对你有所帮助!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

DEDECMS 删除指定IP的评论

今天发现网站上垃圾评论一大堆  一个垃圾 竟然发了40000多条垃圾评论。说一下我的清理方法后台或者PHPMYADMIN运行下面的SQL语句DELETE FROM `dede_feedback` WH...

Dedecms通过sql命令清楚网站以及重置文章ID排序的办法

给大家分享一些Dedecms通过sql命令清除网站以及重置文章ID排序的方法,简单有效,希望对你有所帮助我之前在织梦Dedecms防止恶意注册及快速批量删除垃圾会员及文章的方法中有提到过批量删除垃圾会...

让DEDECMS跳转网址直接链接而非跳转的方法

1、列表页的实现: /include/inc_arclist.php 查找 $row['arcurl'] = $this->GetArcUrl( 在前面加上: if($row['redirect...

织梦dede自定义模型如何写搜索链接方法

今天教一下织梦dedecms自定义模型如何写搜索链接方法 ,仅供学习参考哦默认的搜索方式是这样的,/plus/search.php?keyword=dede&typeid=1后面还可以加一些参...

DedeCms教程:投票模块插件使用说明

织梦内容管理系统投票插件伴随着DEDECMS的成长,变得越来越方便使用。在DedeCMSv5.7系统中,投票插件可以轻松插入到每一篇文档里,使用更加灵活。字体设计教程 一、投票插件的安装ExtJS...

不在同一个服务器里的dede数据库之间数据调用方法

织梦dedecms数据库不在同一个服务器,数据调用方法!data/common.inc.php这个是保存数据库连接信息的,改下这个文件就可以了。<?php  //数据库连接信息  $cfg_db...