POST TIME:2017-12-02 21:50
我們都知道,dedecms程序自帶的RSS只是地圖顯示,每個欄目需要另外生成,這對于RSS訂閱所看到的內(nèi)容實在是不方便,對于讓我們的蜘蛛大人抓取更是啥作用都沒起到,實在是傷腦筋。那有沒有比較好的辦法,可以讓RSS直接在根目錄顯示,并且是動態(tài)自動更新呢?
有的,而且也不復雜,織夢沒有,我們就自己創(chuàng)建PHP形式的RSS文件,讓其自動更新。只需要以下三個步驟:
1,添加一個RSS模板,文件名為:rss_index.htm,將RSS模板文件保存到模板文件/templets/plus/這個插件目錄下。
文件內(nèi)容為:
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}" ?>
<rss version="2.0">
<channel>
<title>{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='50' orderby='pubdate' titlelen='200'}
<item>
<title><![CDATA[[field:title/]]]></title>
<link>[field:arcurl/]</link>
<category>[field:typename/]</category>
<pubdate>[field:pubdate function='strftime("%a,%d%b%Y%H:%M:%S +0800",@me)'/]</pubdate>
<description><![CDATA[[field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "": "<a [email=href='%7B@me[%22arcurl%22]%7D']href='{@me["arcurl"]}'[/email] target='_blank'><img [email=src='%7B@me[%22litpic%22]%7D']src='{@me["litpic"]}'[/email] border='0' /><br />"); [/field:array][field:description function='html2text(@me)'/] ... ]]></description>
</item>
{/dede:arclist}
</channel>
</rss>
2,在根目錄中添加rss.php文件,文件內(nèi)容為:
<?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 . "/plus/rss_index.htm");
header("Content-type:application/xml");
$pv->Display();
?>
3,在首頁index.htm模板的頭部標簽中添加屬性,代碼如下:
<link rel=”alternate” type=”application/rss+xml” title=”{dede:field.title/}” href=”http://www.seo0763.net/rss.php“/>
以上域名請自行修改為自己的域名。
然后重新生成全站靜態(tài),我們就可以通過瀏覽器上的RSS源識別按鈕即可識別。
或者也可以在網(wǎng)頁其它地方,添加A標簽形式的訂閱鏈接。
默認情況下,最多調(diào)用50個最新的文章,這個方法有個好處時,RSS訂閱是動態(tài)文件,不需要每次生成,只要有新文章,RSS就會更新的。