dedecms實(shí)現(xiàn)仿downkr的sitemap效果代碼
<?php
//class SiteMap
//--------------------------------
require_once(dirname(__FILE__)."/config_base.php");
require_once(dirname(__FILE__)."/inc_channel_unit_functions.php");
class SiteMap
{
var $dsql;
var $artDir;
var $baseDir;
//-------------
//php5構(gòu)造函數(shù)
//-------------
function __construct()
{
$this->idCounter = 0;
$this->artDir = $GLOBALS['cfg_arcdir'];
$this->baseDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_basedir'];
$this->idArrary = "";
$this->dsql = new DedeSql(false);
}
function SiteMap()
{
$this->__construct();
}
//------------------
//清理類
//------------------
function Close()
{
$this->dsql->Close();
}
//---------------------------
//獲取網(wǎng)站地圖
//$maptype = "site" 或 "rss"
//---------------------------
function GetSiteMap($maptype="site")
{
$mapString = "<DL>";
if($maptype=="rss") $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From #@__arctype where ishidden<>1 And reID=0 And ispart<>2 order by sortrank");
else $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From #@__arctype where reID=0 And ishidden<>1 order by sortrank");
$this->dsql->Execute(0);
while($row=$this->dsql->GetObject(0))
{
if($maptype=="site") $typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2);
else $typelink = $GLOBALS['cfg_plus_dir']."/rss/".$row->ID.".xml";
$mapString .= "<DL><DT><SPAN><a href='$typelink'>".$row->typename."</a></span><A ;
$mapString .= $this->LogicListAllSunType($row->ID,$maptype,0);
}
$mapString .= "";
return $mapString;
}
//獲得子類目的遞歸調(diào)用
function LogicListAllSunType($ID,$maptype,$pd)
{
$fid = $ID;
$mapString = "";
$pd = $pd + 15;
if($maptype=="rss") $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From #@__arctype where reID='".$ID."' And ishidden<>1 And ispart<>2 order by sortrank");
else $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From #@__arctype where reID='".$ID."' And ishidden<>1 order by sortrank");
$this->dsql->Execute($fid);
$mapString .= "";
while($row=$this->dsql->GetObject($fid))
{
if($maptype=="site") $typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2);
else $typelink = $GLOBALS['cfg_plus_dir']."/rss/".$row->ID.".xml";
$lastLink = "<DD><a href='$typelink'>".$row->typename."</a></DD>";
$mapString .= $lastLink;
$mok = $this->LogicListAllSunType($row->ID,$maptype,$pd);
if(ereg("<a",$mok)){
//$mapString = str_replace($lastLink,"<div style='margin-left:{$pd}px'>$lastLink",$mapString);
$mapString .= $mok;
}
}
$mapString .= "</DL>\r\n";
return $mapString;
}
}
?>
相關(guān)文章
DeDecms中利用關(guān)鍵詞實(shí)現(xiàn)簡(jiǎn)單tag功能的php代碼
此方法的思路是直接調(diào)用dedecms每篇文章的關(guān)鍵詞,以此作為tag標(biāo)簽,在通過(guò)模板的編程為每個(gè)關(guān)鍵詞增加搜索鏈接,好處即為無(wú)需修改程序即可實(shí)現(xiàn)簡(jiǎn)單的tag標(biāo)簽功能,實(shí)現(xiàn)方法參考如下:2008-03-03dedecms織夢(mèng)系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)詳細(xì)說(shuō)明-附表名與字段名
dedecms織夢(mèng)系統(tǒng)是一個(gè)自由和開(kāi)放源碼的內(nèi)容管理系統(tǒng),簡(jiǎn)單易用,功能豐富,原生php程序,二開(kāi)簡(jiǎn)單,曾經(jīng)流行了好多年,就是現(xiàn)在還有人再使用。本文囊括了dedecms數(shù)據(jù)庫(kù)所有的86張數(shù)據(jù)表結(jié)構(gòu)和字段詳細(xì)說(shuō)明,需要的朋友可以參考下。2023-04-04DEDE 24小時(shí)內(nèi)發(fā)布的信息日期為紅色
主要是學(xué)習(xí)他的思路,以后我們就能很方便的增加功能了2008-08-08dedecms實(shí)現(xiàn)仿downkr的sitemap效果代碼
dedecms實(shí)現(xiàn)仿downkr的sitemap效果代碼,本人對(duì)php不是很懂,只是慢慢摸索的,希望大家有好的東西一起交流,實(shí)現(xiàn)仿sitemap2008-03-03- dede采集過(guò)程中最麻煩的莫過(guò)于采集的正則過(guò)濾函數(shù)的編寫(xiě)。說(shuō)實(shí)在的,dede在這點(diǎn)上和很多ASP CMS系統(tǒng)比如說(shuō)動(dòng)易等,采集的時(shí)候直接選擇幾個(gè)選項(xiàng)就可以了,簡(jiǎn)單的完成想過(guò)濾的東西。不過(guò)他們只局限于對(duì)文章內(nèi)容的過(guò)濾不是很好。而DEDE卻能對(duì)所有采集的字段進(jìn)行過(guò)濾,功能上彌補(bǔ)了易用性的缺陷,期待柏拉圖在后續(xù)版本中加上選擇性過(guò)濾功能。2008-03-03
為dedecms增加欄目文章統(tǒng)計(jì)功能代碼
有些網(wǎng)友希望為dedecms增加欄目文章統(tǒng)計(jì)的功能,這個(gè)功能并不復(fù)雜,但是dedecms本身并沒(méi)有此功能,以下是實(shí)現(xiàn)的方法:2008-03-03dedecms中如何在欄目列表和文章頁(yè)面中獲得當(dāng)前欄目標(biāo)題
我們?cè)谑褂胐edecms中會(huì)發(fā)現(xiàn),當(dāng)我們打開(kāi)欄目的列表頁(yè)和文章頁(yè)的時(shí)候,無(wú)論我們使用什么標(biāo)簽,都無(wú)法獲得當(dāng)前欄目的標(biāo)題信息。究其原因是因?yàn)檫@兩個(gè)頁(yè)面所讀取的信息主要來(lái)源于dedecms的dede_archives表及其附加表,僅通過(guò)傳遞欄目的id編號(hào)來(lái)區(qū)別不同欄目,因此我們通過(guò)類似{dede:field name=’typename’/}這樣的方法是無(wú)法直接獲得欄目名稱的。但是我們依然可以通過(guò)程序的改造,利用欄目的唯一id編號(hào),獲得欄目名稱。以下是實(shí)現(xiàn)方法:2008-03-03DEDECMS TAG偽靜態(tài) IIS_rewrite配置方法附rewrite下載
使dedecms出現(xiàn)的偽靜態(tài)效果實(shí)現(xiàn)代碼2008-10-10實(shí)現(xiàn)讓DeDecms的上下文章鏈接限制在當(dāng)前欄目?jī)?nèi)
使用dedecms的時(shí)候,當(dāng)打開(kāi)某篇文章的時(shí)候,底部會(huì)有“上一篇”“下一篇”的鏈接信息,默認(rèn)情況下,上下鏈接信息并沒(méi)有區(qū)分欄目的屬性,那么需要實(shí)現(xiàn)本欄目?jī)?nèi)的上下篇,如何實(shí)現(xiàn)呢? 基本思路:實(shí)現(xiàn)上下文章鏈接的函數(shù)位于GetPreNext(),我們?cè)谶@個(gè)函數(shù)中獲得欄目ID,然后修改SQL語(yǔ)句,在查詢數(shù)據(jù)庫(kù)的時(shí)候加上欄目ID的限制。2008-03-03