时间:2021-07-21人气:-
调用三级四级无限级栏目效果图
(此图片来源于网络,如有侵权,请联系删除! )
第一种自定义函数递归法
适用于前端简单样式用户,在include/extend.func.php最下面添加
123456789101112131415161718192021222324252627282930313233/***取出所有分类*@paramint$channel频道ID*@returnstringwww.dede58.com织梦模板下载*调用{dede:global.getalltypefunction='getalltype()'/}*/functiongetalltype($channel=0,$line=10){$line=empty($line)?10:$line;global$dsql,$result;$dsql->SetQuery("SELECTid,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`WHEREreid='$channel'Andishidden<>1orderbysortrankasclimit0,$line");$dsql->Execute($channel);if($dsql->GetTotalRow($channel)>0){$result.="<ul>rn";while($row=$dsql->GetArray($channel)){$id=$row['id'];$typename=$row['typename'];$typelink=GetOneTypeUrlA($row);$result.="<li>rn";$result.="<ahref='{$typelink}'target='_blank'>{$typename}</a>rn";getalltype($id,$line);$result.="</li>rn";}$result.="</ul>rn";}return$result;}前台模板调用标签
{dede:global.getalltype function='getalltype()'/}
第二种标签嵌套法
适用于只调用出一级、二级、三级、四级的用户,直接在模板里写
123456789101112131415161718192021222324252627282930313233343536<ul>{dede:channelartlistrow=7typeid=top}<!--顶级--><li><ahref="{dede:field.typeurl/}">{dede:fieldname='typename'/}</a><ul>{dede:channeltype=sonnoself=yes}<!--二级--><li><ahref="[field:typeurl/]"title="[field:typename/]">[field:typename/]</a><ul><!--三级-->[field:idrunphp=yes]global$dsql;$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`WHEREreid=@meAndishidden<>1orderbysortrankasclimit0,10";$dsql->SetQuery($sql);$dsql->Execute('t');$result='';while($row=$dsql->GetArray('t')){$typename=$row['typename'];$typeurl=GetOneTypeUrlA($row);$result.=<<<TPL<li><ahref="{$typeurl}">{$typename}</a></li>TPL;}@me=$result;[/field:id]</ul></li>{/dede:channel}</ul></li>{/dede:channelartlist}</ul>上面的是输出到三级栏目,如果需要四级栏目可以这样写
12345678910111213141516171819202122232425<!--三级/四级-->[field:idrunphp=yes]global$dsql;$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`WHEREreid=@meAndishidden<>1orderbysortrankasclimit0,10";$dsql->SetQuery($sql);$dsql->Execute('t');$result='';while($row=$dsql->GetArray('t')){$row['typeurl']=GetOneTypeUrlA($row);$result.="<ahref='{$row[typeurl]}'>{$row[typename]}</a>";//四级$nsql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`WHEREreid=$row[id]Andishidden<>1orderbysortrankasclimit0,10";$dsql->SetQuery($nsql);$dsql->Execute('n');while($nrow=$dsql->GetArray('n')){$nrow['typeurl']=GetOneTypeUrlA($nrow);$result.="<ahref='{$nrow[typeurl]}'>{$nrow[typename]}</a>";}}@me=$result;[/field:id]