dede rss.php,DeDeCMS dede 织梦cms RSS全站静态输出的实现方法
DedeCMS自帶Rss功能,在管理后臺可以生成出一個Rss地圖頁面,默認是/data/rssmap.html;這個Html地圖文件會告知用戶每個欄目的rss訂閱地址,這個功能很適合欄目及文章較多的網站,但不太適合文章頁不多的小型站點;我偏向于使用統一的Rss地址來輸出全站所有文章,這樣只需推廣一個Rss訂閱地址即可。
DedeCMS Rss功能所需的程序文件是/plus/rss.php,模板文件是/templets/default/rss.html。
實現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.html模板文件,文件代碼如下:
XML/HTML代碼<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}" ?>
RSS訂閱-{dede:global.cfg_webname/}{dede:global.cfg_basehost/}
{dede:global.cfg_description/}
zh-cn
{dede:global.cfg_webname/}
{dede:global.cfg_adminemail/}
{dede:arclist row='100' col='1' titlelen='200' orderby='pubdate'}
/[field:arcurl/]
[field:writer/]
[field:typename/]
[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]
/[field:arcurl/]
{/dede:arclist}
三、在后臺增加一個單頁面,“模板文件名”項中輸入第2步中涉及的模板文件rss.htm,早“文件名”中輸入未來Rss訂閱地址,這里我就直接生成在CMS根目錄下了。
四、更新一下緩存,并更新剛剛新增的單頁面,即可看到全站性的RSS輸出,以后很方便的就可以用各種RSS軟件去Submit rss地址了。
用DedeCMS建設企業網站,產品頁面往往都會直接生成在根目錄,而不會生成在欄目目錄內,這樣操作不僅可以使URL長度變短,而且可以實現所有頁面都位于根目錄下的扁平化結構,因此,用單頁發布產品信息會很普遍;上面談及的全站性RSS輸出的方法是無法提取單頁的,所以還需要對rss.html的模板代碼進行修改:
XML/HTML代碼<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}" ?>
RSS訂閱-{dede:global.cfg_webname/}{dede:global.cfg_basehost/}
{dede:global.cfg_description/}
zh-cn
{dede:global.cfg_webname/}
{dede:global.cfg_adminemail/}
{dede:arclist row='100' col='1' titlelen='200' orderby='pubdate'}
http://www.wlxs.com.cn[field:arcurl/]
[field:writer/]
[field:typename/]
[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]
http://www.***.com[field:arcurl/]
{/dede:arclist}
/********調用單頁的代碼********/
{dede:sql sql='Select * from dede_sgpage order by uptime asc limit 48'}
http://www.***.com/[field:filename/]
[field:uptime function='strftime("%a, %d %b %Y %H:%M:%S +0800",@me)'/]
http://www.***.com/[field:filename/]
{/dede:sql}
/********調用單頁的代碼********/
調用方式:調用后臺建立的全部48個單頁,并按照發布時間增序排列。
擴展說明:DedeCMS單頁文檔所在的數據表dede_sgpage(不修改表前綴)包括以下字段:aid 文檔號
title 文檔標題
ismake 靜態頁面生成
filename 單頁文檔的文件名
keywords單頁文檔的關鍵字
template單頁文檔所用的模板
likeid 文檔分類
description單頁文檔的描述
uptime文檔文檔生成或修改的時間
body文檔文檔內容
利用上述標簽,就可以修改模板里的標簽代碼,以調用不同的數據。
這個方法是調用單頁面的通用方法,因為sql方式調用是萬能的,比如:你可以在首頁調用所有的單頁面,或者只調用一個或某幾個單頁面,只需簡單修改下代碼即可,比如:
XML/HTML代碼{dede:sql sql='Select * from dede_sgpage where aid=1'}
[field:title /]
[field:content/]
{/dede:sql}
總結
以上是生活随笔為你收集整理的dede rss.php,DeDeCMS dede 织梦cms RSS全站静态输出的实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米申请大模型、MiLM-6B商标 这是
- 下一篇: 五菱缤果车型 8 月销量 20188 辆