激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

DEDECMS|帝國CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|蘋果CMS|極致CMS|CMS系統|

服務器之家 - 建站程序 - DEDECMS - DEDECMS中獲取無限欄目子分類的方法

DEDECMS中獲取無限欄目子分類的方法

2019-09-20 15:38DEDECMS教程網 DEDECMS

經過蕭涵的努力,百度+GOOGLE+自己腦袋,終于搞定了這個東西,不敢獨享,發出來給有需要的朋友分享。

做企業網站大部分是使用DEDECMS,今天在給客戶設計網站時,把DEDE自動內鏈和URL全拼格式搞定后,又遇到了個小問題,因為產品分類最多有四級,客戶要求在左側有個彈出式菜單調用各級子分類出來,而DEDECMS默認只能調用一級分類。經過蕭涵的努力,百度+GOOGLE+自己腦袋,終于搞定了這個東西,不敢獨享,發出來給有需要的朋友分享。 

首先要把/include/taglib/channerl.lib.php 文件的代碼修改成以下的:

復制代碼

代碼如下:


<?php 
function lib_channel(&$ctag,&$refObj) 

global $_sys_globals,$envs,$dsql; 
$attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|”; 
FillAttsDefault($ctag->CAttribute->Items,$attlist); 
extract($ctag->CAttribute->Items, EXTR_SKIP); 
$innertext = $ctag->GetInnerText(); 
if(empty($typeid) && $envs['typeid']!=0) 

$typeid = $envs['typeid']; 
$reid = $envs['reid']; 
}else{ 
$reid=0; 

if($type==”||$type==’sun’) $type=”son”; 
if($innertext==”) $innertext = GetSysTemplets(“channel_list.htm”); 
if($reid==0 && $typeid>0) 

$dbrow = $dsql->GetOne(“Select reid From ying_arctype where id=’$typeid’ “); 
if(is_array($dbrow)) $reid = $dbrow['reid']; 

$likeType = ”; 
if($type==’top’) 

$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description 
From ying_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row”; 

else if($type==”son”) 

//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; 
if($typeid==0) { 
return ”; 

$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description 
From ying_arctype where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0,$row”; 

else if($type==”self”) 

if($reid==0) { 
return ”; 

$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description 
From ‘ying_arctype’ where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0,$row”; 

//And id<>’$typeid’ 
$dtp2 = new DedeTagParse(); 
$dtp2->SetNameSpace(“field”,”[","]“); 
$dtp2->LoadSource($innertext); 
$dsql2 = clone $dsql; 
$dsql->SetQuery($sql); 
$dsql->Execute(); 
$line = $row; 
$GLOBALS['autoindex'] = 0; 
for($i=0;$i < $line;$i++) 

if($col>1) $likeType .= “<dl>\r\n”; 
for($j=0;$j<$col;$j++) 

if($col>1) $likeType .= “<dd>\r\n”; 
if($row=$dsql->GetArray()) 

if($type==’self’ && $row['id']==$typeid) //處理同級欄目中,當前欄目的樣式 

if($currentstyle!=”) 

$linkOkstr = $currentstyle; 
$row['typelink'] = GetOneTypeUrlA($row); 
$linkOkstr = str_replace(“~typelink~”,$row['typelink'],$linkOkstr); 
$linkOkstr = str_replace(“~typename~”,$row['typename'],$linkOkstr); 
$likeType .= $linkOkstr; 

}else 

$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); 
if(is_array($dtp2->CTags)) 

foreach($dtp2->CTags as $tagid=>$ctag){ 
if(isset($row[$ctag->GetName()])) 

$dtp2->Assign($tagid,$row[$ctag->GetName()]); 

elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName())) 

$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2)); 



$likeType .= $dtp2->GetResult(); 


if($col>1) $likeType .= “</dd>\r\n”; 
$GLOBALS['autoindex']++; 
}//Loop Col 
if($col>1) 

$i += $col – 1; 
$likeType .= ” </dl>\r\n”; 

}//Loop for $i 
reset($dsql2); 
$dsql->FreeResult(); 
return $likeType; 

function lib_channel_son($ctag,$typeid = 0,$dsql2) 

$attlist = “row|100,col|1,currentstyle|”; 
FillAttsDefault($ctag->CAttribute->Items,$attlist); 
extract($ctag->CAttribute->Items, EXTR_SKIP); 
$innertext = $ctag->GetInnerText(); 
$dsql3 = clone $dsql2; 
$likeType = ”; 
//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; 
if($typeid==0) { 
return ”; 

$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description 
From ying_arctype where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0,$row”; 
//And id<>’$typeid’ 
$dtp2 = new DedeTagParse(); 
$dtp2->SetNameSpace(“field”,”[","]“); 
$dtp2->LoadSource($innertext); 
$dsql2->SetQuery($sql); 
$dsql2->Execute(); 
$line = $row; 
for($i=0;$i < $line;$i++) 

if($col>1) $likeType .= “<dl>\r\n”; 
for($j=0;$j<$col;$j++) 

if($col>1) $likeType .= “<dd>\r\n”; 
if($row=$dsql2->GetArray()) 

$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); 
if(is_array($dtp2->CTags)) 

foreach($dtp2->CTags as $tagid=>$ctag){ 
if(isset($row[$ctag->GetName()])) 

$dtp2->Assign($tagid,$row[$ctag->GetName()]); 

elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName())) 

$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3)); 



$likeType .= $dtp2->GetResult(); 

if($col>1) $likeType .= “</dd>\r\n”; 
}//Loop Col 
if($col>1) 

$i += $col – 1; 
$likeType .= ” </dl>\r\n”; 

}//Loop for $i 
reset($dsql3); 
$dsql2->FreeResult(); 
return $likeType; 

?> 


在模板里面用 [field:sonchannel0] [/field:sonchannel0] 調用,這個是用來取子欄目用得(使用【sonchannel+數字】作為標簽名是為了防止嵌套的時候無法正確解析標簽),這個的作用就是當你的欄目有很多子欄目無限分級的時候方便你取子欄目的。實例一下: 

復制代碼

代碼如下:


<ul id="left_nav"> 
{dede:channel type='son' typeid='16'} 
<li><a href="[field:typelink/]“>[field:typename/]</a> 
<ul> 
[field:sonchannel0] 
<li><a href="[field:typelink/]“>[field:typename/]</a> 
<ul> 
[field:sonchannel1] 
<li><a href="[field:typelink/]“>[field:typename/]</a> 
<ul> 
[field:sonchannel2] 
<li><a href="[field:typelink/]“>[field:typename/]</a> 
<ul> 
[field:sonchannel3] 
<li><a href="[field:typelink/]“>[field:typename/]</a></li> 
[/field:sonchannel3] 
</ul> 
</li> 
[/field:sonchannel2] 
</ul> 
</li> 
[/field:sonchannel1] 
</ul> 
</li> 
[/field:sonchannel0] 
</ul> 
</li> 
{/dede:channel} 
</ul> 


以上typeid中的數字改成你的大分類的ID即可,因為在DEDE官方論壇沒找到,所以這里發上來,希望能方便有用者。(轉自蕭涵的博百優) 

注意:未免出錯修改文件前請做好備份,以上代碼可能有些引號又被自動轉成全角的了,請修改成半角的,或者可以找蕭涵索取此修改后的文件。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产 视频 一区二区 | 暖暖免费观看高清完整版电影 | 亚洲国产精品久久久久 | 在线亚洲免费视频 | 亚洲欧美在线看 | 免费在线观看中文字幕 | 国产精品久久久久影院老司 | 精品久久久久久综合日本 | 亚洲国产高清一区 | 看国产毛片| 欧美性激情视频 | 久久草在线看 | 成人毛片免费视频 | 美女91视频 | 欧美成人视 | 在线视频 中文字幕 | 欧美国产一区二区三区激情无套 | 销魂美女一区二区 | 色的综合 | 99精品在线免费 | av日韩一区二区三区 | 老师你怎么会在这第2季出现 | 欧美h版在线观看 | 久久青草热 | 一本一道久久久a久久久精品91 | 国产99视频精品免视看9 | gogo全球大胆高清人露出91 | 久久情爱网 | 草莓视频在线导航 | 欧美在线成人影院 | 久久96国产精品久久秘臀 | 日韩在线视频在线观看 | 福利一区二区三区视频在线观看 | 成人永久免费视频 | 久精品久久 | 免费淫视频| 国产九色视频在线观看 | 成人一级免费视频 | 亚洲成人免费影视 | chinesexxx少妇露脸 | 羞羞的动漫在线观看 |