ホームページ  >  記事  >  CMS チュートリアル  >  DedeCmsの任意の列のNレベルリストリンクツリーメニューを取得する方法

DedeCmsの任意の列のNレベルリストリンクツリーメニューを取得する方法

藏色散人
藏色散人オリジナル
2019-12-14 10:22:041949ブラウズ

DedeCmsの任意の列のNレベルリストリンクツリーメニューを取得する方法

DedeCms はどのようにして任意の列の N レベルのリスト リンク ツリー メニューを取得しますか?

DedeCms は、任意の列の N レベルのリスト リンク ツリー メニューを取得します。エディターは、次の変更方法が DedeCMS のデフォルトのテーブル プレフィックスに適用できることを通知します。インストール中に変更した場合は、料金を支払ってください。改造に注意。

推奨される学習: Dream Weaver cms

\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<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. テンプレート内で

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

を使用して呼び出すだけです。ここで、getProductTree(2) の 2 は製品表示の列 ID です。異なる場合は、それに応じて修正してください。

以上がDedeCmsの任意の列のNレベルリストリンクツリーメニューを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。