Maison  >  Article  >  Tutoriel CMS  >  Comment obtenir le menu arborescent de liens de liste de niveau N de n'importe quelle colonne dans DedeCms

Comment obtenir le menu arborescent de liens de liste de niveau N de n'importe quelle colonne dans DedeCms

藏色散人
藏色散人original
2019-12-14 10:22:041975parcourir

Comment obtenir le menu arborescent de liens de liste de niveau N de n'importe quelle colonne dans DedeCms

Comment DedeCms obtient-il le menu arborescent de liens de liste de niveaux N de n'importe quelle colonne ?

DedeCms obtient le menu arborescent de liens de liste à N niveaux de n'importe quelle colonne. L'éditeur rappelle que la méthode de modification suivante est applicable au préfixe de table par défaut de DedeCMS. Si vous l'avez modifié lors de l'installation, veuillez payer. attention à la modification.

Apprentissage recommandé : Dreamweaver cms

Ajoutez le code suivant au bas du fichier includechannelunit.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<div class=\"firsttype\"><a href=\"$typelink\"><b>".$row->typename."</b></a></div>\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=&#39;$parentid&#39; 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=&#39;$parentid&#39; 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=&#39;$parentid&#39; 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. dans le modèle 🎜>

{dede:channel function=&#39;getProductTree(2)&#39;}{/dede:channel} 

Appelez-le simplement. Ici, 2 dans getProductTree(2) est l'ID de colonne de l'affichage du produit. Si le vôtre est différent, veuillez le modifier en conséquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn