广

织梦CMS教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    DEDECMS实现仿downkr的sitemap效果

    2018-04-02 20:51:21 次阅读 稿源:互联网
    广告

    修改的是dedecms目录下的/include/inc_sitemap.php文件
    代码如下:

    1. <?php  
    2. //class SiteMap  
    3. //--------------------------------  
    4. require_once(diame(__FILE__)."/config_base.php");  
    5. require_once(diame(__FILE__)."/inc_channel_unit_functions.php");  
    6. class SiteMap  
    7. {  
    8. var $dsql;  
    9. var $artDir;  
    10. var $baseDir;  
    11. //-------------  
    12. //php5构造函数  
    13. //-------------  
    14. function __construct()  
    15. {  
    16. $this->idCounter = 0;  
    17. $this->artDir = $GLOBALS['cfg_arcdir'];  
    18. $this->baseDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_basedir'];  
    19. $this->idArrary = "";  
    20. $this->dsql = new DedeSql(false);  
    21. }  
    22. function SiteMap()  
    23. {  
    24. $this->__construct();  
    25. }  
    26. //------------------  
    27. //清理类  
    28. //------------------  
    29. function Close()  
    30. {  
    31. $this->dsql->Close();  
    32. }  
    33. //---------------------------  
    34. //获取网站地图  
    35. //$maptype = "site" 或 "rss"  
    36. //---------------------------  
    37. function GetSiteMap($maptype="site")  
    38. {  
    39. $mapString = "<DL>";  
    40. if($maptype=="rss"$this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From dede_arctype where ishidden<>1 And reID=0 And ispart<>2 order by sortrank");  
    41. else $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From dede_arctype where reID=0 And ishidden<>1 order by sortrank");  
    42. $this->dsql->Execute(0);  
    43. while($row=$this->dsql->GetObject(0))  
    44. {  
    45. if($maptype=="site"$typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2);  
    46. else $typelink = $GLOBALS['cfg_plus_dir']."/rss/".$row->ID.".xml";  
    47. $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";  
    48. $mapString .= $this->LogicListAllSunType($row->ID,$maptype,0);  
    49. }  
    50. $mapString .= "";  
    51. retu $mapString;  
    52. }  
    53. //获得子类目的递归调用  
    54. function LogicListAllSunType($ID,$maptype,$pd)  
    55. {  
    56. $fid = $ID;  
    57. $mapString = "";  
    58. $pd = $pd + 15;  
    59. if($maptype=="rss"$this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From dede_arctype where reID='".$ID."' And ishidden<>1 And ispart<>2 order by sortrank");  
    60. else $this->dsql->SetQuery("Select ID,typedir,isdefault,defaultname,typename,ispart,namerule2 From dede_arctype where reID='".$ID."' And ishidden<>1 order by sortrank");  
    61. $this->dsql->Execute($fid);  
    62. $mapString .= "";  
    63. while($row=$this->dsql->GetObject($fid))  
    64. {  
    65. if($maptype=="site"$typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2);  
    66. else $typelink = $GLOBALS['cfg_plus_dir']."/rss/".$row->ID.".xml";  
    67.  
    68. $lastLink = "<DD><a href='$typelink'>".$row->typename."</a></DD>";  
    69. $mapString .= $lastLink;  
    70. $mok = $this->LogicListAllSunType($row->ID,$maptype,$pd);  
    71. if(ereg("<a",$mok)){  
    72. //$mapString = str_replace($lastLink,"<div>$lastLink",$mapString);  
    73. $mapString .= $mok;  
    74. }  
    75. }  
    76. $mapString .= "</DL>/r/n";  
    77. retu $mapString;  
    78. }  
    79. }  
    80. ?> 


     

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告