dedecms实现仿downkr的sitemap效果代码

时间:2021-05-19

修改的是dedecms目录下的/include/inc_sitemap.php文件
复制代码 代码如下:
<?php
//classSiteMap
//--------------------------------
require_once(dirname(__FILE__)."/config_base.php");
require_once(dirname(__FILE__)."/inc_channel_unit_functions.php");
classSiteMap
{
var$dsql;
var$artDir;
var$baseDir;
//-------------
//php5构造函数
//-------------
function__construct()
{
$this->idCounter=0;
$this->artDir=$GLOBALS['cfg_arcdir'];
$this->baseDir=$GLOBALS['cfg_cmspath'].$GLOBALS['cfg_basedir'];
$this->idArrary="";
$this->dsql=newDedeSql(false);
}
functionSiteMap()
{
$this->__construct();
}
//------------------
//清理类
//------------------
functionClose()
{
$this->dsql->Close();
}
//---------------------------
//获取网站地图
//$maptype="site"或"rss"
//---------------------------
functionGetSiteMap($maptype="site")
{
$mapString="<DL>";
if($maptype=="rss")$this->dsql->SetQuery("SelectID,typedir,isdefault,defaultname,typename,ispart,namerule2From#@__arctypewhereishidden<>1AndreID=0Andispart<>2orderbysortrank");
else$this->dsql->SetQuery("SelectID,typedir,isdefault,defaultname,typename,ispart,namerule2From#@__arctypewherereID=0Andishidden<>1orderbysortrank");
$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><ahref='$typelink'>".$row->typename."</a></span><Ahref='http:///plus/rssmap.html'><imgsrc='/templets/downkr/rss.gif'>"."</a></dt>\r\n";
$mapString.=$this->LogicListAllSunType($row->ID,$maptype,0);
}
$mapString.="";
return$mapString;
}
//获得子类目的递归调用
functionLogicListAllSunType($ID,$maptype,$pd)
{
$fid=$ID;
$mapString="";
$pd=$pd+15;
if($maptype=="rss")$this->dsql->SetQuery("SelectID,typedir,isdefault,defaultname,typename,ispart,namerule2From#@__arctypewherereID='".$ID."'Andishidden<>1Andispart<>2orderbysortrank");
else$this->dsql->SetQuery("SelectID,typedir,isdefault,defaultname,typename,ispart,namerule2From#@__arctypewherereID='".$ID."'Andishidden<>1orderbysortrank");
$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><ahref='$typelink'>".$row->typename."</a></DD>";
$mapString.=$lastLink;
$mok=$this->LogicListAllSunType($row->ID,$maptype,$pd);
if(ereg("<a",$mok)){
//$mapString=str_replace($lastLink,"<divstyle='margin-left:{$pd}px'>$lastLink",$mapString);
$mapString.=$mok;
}
}
$mapString.="</DL>\r\n";
return$mapString;
}
}
?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章