首页  »  站长资讯  »  网站优化

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

2023/03/11 12:32     创新屋收录网     已浏览405次
$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 .= "nnn";

$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 .= "
  • ".$row->typename."
  • 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 .= "
  • ".$row->typename."
  • 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 .= "
  • ".$row->typename."
  • n";

    }

    return $linkList;

    }

    /*树形栏目补充*/

    ----------------------------------------------------------------------------

    2、在模板里用

    {dede:channel function='getProductTree(2)'}{/dede:channel} 

    调用即可。这里getProductTree(2)中的 2 是产品展示的栏目ID。如果你的是其他的,请作相应修改。