欢迎来到代码驿站!

当前位置:首页 >

dedecms实现仿downkr的sitemap效果代码

时间:2021-05-28 08:02:34|栏目:|点击:
修改的是dedecms目录下的/include/inc_sitemap.php文件
复制代码 代码如下:

<?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构造函数
    //-------------
    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();
    }
    //---------------------------
    //获取网站地图
    //$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 href='http://www.yuanma51.com/plus/rssmap.html'><img src='/templets/downkr/rss.gif'>"."</a></dt>\r\n";
            $mapString .= $this->LogicListAllSunType($row->ID,$maptype,0);
        }
        $mapString .= "";
        return $mapString;
    }
    //获得子类目的递归调用
    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;
    }
}
?>

上一篇:正则文本框只能输入正整数

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:dedecms实现仿downkr的sitemap效果代码

本文地址:http://www.codeinn.net/misctech/130704.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有