您的位置:首页 > CMS系统 > > 正文

dedecms栏目静态化(DedeCms获取任意栏目N级列表链接树形菜单的方法)

更多 时间:2021-10-09 00:26:29 类别:CMS系统 浏览量:2225

dedecms栏目静态化

DedeCms获取任意栏目N级列表链接树形菜单的方法

DedeCms获取任意栏目N级列表链接树形菜单,小编提示,下边的修改方法,适用于DedeCMS默认的表前缀,如果你安装的时候修改了,请注意修改。

在\include\channelunit.func.php文件底部添加如下代码:

  • /*树形栏目补充,获取二级,san级,四级栏目列表/ 
     
    function getProductTree($typeid)
     
    {
     
    $linkList = "";
     
    $dsql = new DedeSql(false);
     
    $dsql->SetQuery("select ID,typedir,typename,isdefault from dede_arctype where reID = '$typeid' order by sortrank");
     
    $dsql->Execute();
     
    while($row=$dsql->GetObject())
     
    {
     
       $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
     
       $linkList .= "\n<li class=\"firsttype\"><a href=\"$typelink\"><b>".$row->typename."</b></a></li>\n\n";
     
       $linkList .= getSonClass($row->ID);
     
    }
     
    $dsql->Close();
     
    return $linkList;
     
    }
     
    //获得小类栏目链接
     
    function getSonClass($parentid)
     
    {
     
    $linkList = "";
     
    $dsql = new DedeSql(false);
     
    $dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
     
    $dsql->Execute($parentid);
     
    while($row=$dsql->GetObject($parentid))
     
    {
     
       $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
     
       $linkList .= "<li class=\"secondtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
     
       $linkList .= getSonClass2($row->ID);
     
    }
     
    return $linkList;
     
    }
     
    function getSonClass2($parentid)
     
    {
     
    $linkList = "";
     
    $dsql = new DedeSql(false);
     
    $dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
     
    $dsql->Execute($parentid);
     
    while($row=$dsql->GetObject($parentid))
     
    {
     
       $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
     
       $linkList .= "<li class=\"thirdtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
     
       $linkList .= getSonClass3($row->ID);
     
    }
     
    return $linkList;
     
    }
     
    function getSonClass3($parentid)
     
    {
     
    $linkList = "";
     
    $dsql = new DedeSql(false);
     
    $dsql->SetQuery("Select ID,typedir,typename,isdefault From dede_arctype where reID='$parentid' order by sortrank");
     
    $dsql->Execute($parentid);
     
    while($row=$dsql->GetObject($parentid))
     
    {
     
       $typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
     
       $linkList .= "<li class=\"fourthtype\"><a href=\"$typelink\">".$row->typename."</a></li>\n";
     
    }
     
    return $linkList;
     
    }
    /*树形栏目补充*/ 
    
    
  • 2、在模板里用

  • {dede:channel function='getProductTree(2)'}{/dede:channel}  
    
    
  • 调用即可。这里getProductTree(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    您可能感兴趣