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

softyun3年前cms教程62

给大家分享一下实现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会员提示“数据校验不对,程序返回”问题的解决

如果本文介绍的“织梦DEDECMS会员中心"数据校验不对,程序返回"错误修改方法”对您有帮助,记得文末点赞哦!在会员中心发布商品或分类信息时时,直接报错:数据校验不对,程序返回 内容来自原因:memb...

DedeCMS Error:Tag disabled:php错误的完整处理方法

网站提示DedeCMS Error:Tag disabled:"php" more...! 在最新的dedecms5.7版本与7月15号的补丁里,官方增加了模板引擎禁用的全局设置,用于控制哪些模板标签...

dede模板留言提交错误时返回空白页处理方法

织梦dedecms模板留言提交错误时返回空白页处理方法 :留言提交错误时返回空白页处理方法默认情况下,如果我们使用dede模板中的留言板时,如果留言信息不正确或者输入内容为空时,dedecms系统可能...

DedeCms开启多站点支持的简明教程

这里假设条件为:E:\web 为 2500875E:\WEB\test 为 test.2500875开启多站点支持参数建顶级栏目建顶级栏目建子栏目:由于3.1版增加了{cmspath}这变...

dede网站内容页如何调取栏目页标题和seo标题

dede网站内容页如何调取栏目页标题和seo标题 内容页调用SEO标题:在之间加入以下代码: {dede:field name='typeid' runphp='yes'}  $id=@me;  gl...

【Vote 标记使用实例】-DedeCMS模板制作使用实例教程(7)

【Type 标记】用于获取一组投票表单。  其使用范围限于:封面模板。  可先进入后台,按下面操作方法填写好调查内容:  辅助插件-->投票模块-->增加一组投票      通过调试了解其...