校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網站建設 > 建站知識 > DEDECMS中獲取無限欄目子分類的方法

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

POST TIME:2019-09-30 16:22

做企業網站大部分是使用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> ”;
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType .= “<dd> ”;
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> ”;
$GLOBALS['autoindex']++;
}//Loop Col
if($col>1)
{
$i += $col – 1;
$likeType .= ” </dl> ”;
}
}//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> ”;
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType .= “<dd> ”;
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> ”;
}//Loop Col
if($col>1)
{
$i += $col – 1;
$likeType .= ” </dl> ”;
}
}//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官方論壇沒找到,所以這里發上來,希望能方便有用者。(轉自蕭涵的博百優)

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


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
久久久久久日产精品| 欧美日本高清视频在线观看| 国产精品激情偷乱一区二区∴| 粉嫩av一区二区三区在线播放 | 亚洲一区影音先锋| 欧美中文字幕一区| 青娱乐精品视频在线| 久久久久久久性| 99久久婷婷国产综合精品| 一区二区在线免费观看| 在线综合视频播放| 丁香一区二区三区| 一区二区视频免费在线观看| 欧美一区二区在线视频| 国产99久久久国产精品潘金网站| 亚洲欧洲国产日本综合| 欧美群妇大交群中文字幕| 黄色日韩三级电影| 亚洲天堂av老司机| 日韩精品中文字幕一区| 99精品视频在线观看免费| 日精品一区二区三区| 久久精品视频一区| 欧美日本在线观看| 国产91精品欧美| 午夜精品福利在线| 国产精品色婷婷久久58| 欧美一三区三区四区免费在线看| 成人晚上爱看视频| 天天色综合天天| 日本一区二区不卡视频| 制服丝袜中文字幕一区| 成年人网站91| 久久精品99国产精品| 樱桃视频在线观看一区| 久久日一线二线三线suv| 欧美亚洲自拍偷拍| 成人免费高清在线| 日韩成人午夜精品| 尤物在线观看一区| 国产精品另类一区| 精品久久久网站| 欧美三级视频在线| 成人国产精品免费观看| 国产曰批免费观看久久久| 亚洲国产精品一区二区久久| 欧美高清在线视频| 久久新电视剧免费观看| 欧美日本精品一区二区三区| 色婷婷综合久久久中文一区二区 | 日韩欧美亚洲另类制服综合在线| 色播五月激情综合网| 丁香啪啪综合成人亚洲小说| 激情图片小说一区| 琪琪一区二区三区| 五月婷婷激情综合| 亚洲一区在线电影| 亚洲精品日韩一| 中文幕一区二区三区久久蜜桃| 精品国产区一区| 日韩欧美国产一二三区| 91精品在线观看入口| 欧美精品1区2区3区| 欧美日本一区二区三区| 欧美性大战久久久久久久| 91免费观看视频在线| 成人激情午夜影院| gogo大胆日本视频一区| 成人av中文字幕| 国产成人免费网站| 大白屁股一区二区视频| 成熟亚洲日本毛茸茸凸凹| 国产一区二区在线看| 国产综合久久久久影院| 国产一区二区伦理片| 国产成人免费av在线| 国产91色综合久久免费分享| 国产精品一线二线三线精华| 国产高清不卡一区| 高清国产午夜精品久久久久久| 国产精品1区2区| 懂色av中文一区二区三区| 成人免费av在线| 99国产欧美另类久久久精品| 91视频免费播放| 91亚洲精品久久久蜜桃网站| 91婷婷韩国欧美一区二区| 欧洲精品一区二区| 欧美人牲a欧美精品| 日韩欧美一区二区在线视频| 337p粉嫩大胆噜噜噜噜噜91av| 国产亚洲精品超碰| 亚洲日本在线a| 亚洲午夜久久久久| 老司机精品视频导航| 国产成人无遮挡在线视频| av欧美精品.com| 欧美午夜精品免费| 日韩欧美国产高清| 成人欧美一区二区三区黑人麻豆| 一区二区三区蜜桃网| 日韩黄色一级片| 国产精品影音先锋| 91首页免费视频| 91精品国产91久久综合桃花| 久久精品人人做人人爽人人| 一区二区三区四区视频精品免费 | 国产精品成人免费精品自在线观看| 成人免费一区二区三区在线观看| 亚洲精品成人悠悠色影视| 亚洲成人手机在线| 国产精品一区二区视频| 在线一区二区三区四区五区| 日韩欧美国产精品| 亚洲欧洲精品一区二区三区不卡| 亚洲成人动漫在线免费观看| 国产一区二区不卡| 欧美视频一区二区三区四区| 精品国产乱码久久久久久夜甘婷婷| 中文字幕在线不卡| 欧美aaaaaa午夜精品| 99视频在线精品| 欧美精品一区二区三区视频| 依依成人精品视频| 狠狠v欧美v日韩v亚洲ⅴ| 色域天天综合网| 久久九九影视网| 日韩国产欧美在线视频| av在线播放一区二区三区| 日韩精品一区二区三区视频| 一区二区三区免费在线观看| 成人综合婷婷国产精品久久免费| 欧美精选一区二区| 亚洲色图欧美在线| 国产一区福利在线| 欧美一区二区成人6969| 一区二区成人在线| 成人免费高清在线| 久久久久久久精| 美腿丝袜亚洲一区| 欧美精品三级日韩久久| 亚洲猫色日本管| 国产精品综合在线视频| 日韩精品一区二区三区在线播放| 午夜不卡av在线| 欧美亚一区二区| 亚洲欧美偷拍卡通变态| 成人av电影免费观看| 久久理论电影网| 老司机免费视频一区二区三区| 欧美精品乱人伦久久久久久| 亚洲精品久久嫩草网站秘色| aa级大片欧美| 中文字幕在线播放不卡一区| 成人永久免费视频| 日本一区二区在线不卡| 国产成人一区二区精品非洲| 久久久影视传媒| 国产精品一区二区你懂的| 精品国精品国产尤物美女| 美女www一区二区| 日韩一区二区免费电影| 青青草国产精品97视觉盛宴| 欧美一级精品大片| 蜜臀a∨国产成人精品| 欧美成人vps| 国产盗摄一区二区三区| 久久精品亚洲一区二区三区浴池| 国产做a爰片久久毛片| 久久久久久免费网| 国产成人综合亚洲网站| 欧美国产一区在线| 一本色道**综合亚洲精品蜜桃冫 | 午夜精品在线视频一区| 欧美日韩二区三区| 蜜臀精品一区二区三区在线观看| 精品嫩草影院久久| 国产精品一级片在线观看| 欧美韩国日本不卡| 一道本成人在线| 三级亚洲高清视频| 欧美一级黄色大片| 国产成人精品网址| 亚洲免费看黄网站| 制服丝袜成人动漫| 国内精品久久久久影院薰衣草| 国产欧美日韩综合| 一本一道综合狠狠老| 午夜日韩在线电影| 日韩欧美电影一二三| 懂色av中文一区二区三区| 一区二区久久久久| 精品国产一区二区国模嫣然| 成人小视频免费观看| 亚洲一区在线视频| 欧美成人官网二区| 色婷婷狠狠综合| 免费人成在线不卡| 国产精品久久久久aaaa樱花| 欧美日韩久久一区|