以前在用到5.7无限级栏目列表菜单时下载了网上的资料都未成功,因此我参考网上及dedecms本身的channel.lib.php及cattree.lib.php制作了调用标签。
1、在include/taglib建立randomartlist.lib.php
内容如下:
<?phpif(!defined('DEDEINC')) exit('Request Error!'); function lib_randomartlist(&$ctag, &$refObj){ global $dsql; //属性处理 //topid 指定顶级树 id ,指定后,前一个属性将无效 $attlist="typeid|0,showall|,currentstyle|,cacheid|"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $revalue = ''; //读取固定的缓存块 $cacheid = trim($cacheid); if($cacheid !='') { $revalue = GetCacheBlock($cacheid); if($revalue != '') return $revalue; } //如果属性里没指定栏目id,从引用类里获取栏目信息 if(empty($typeid)) { if( isset($refObj->TypeLink->TypeInfos['id']) ) { $typeid = $refObj->TypeLink->TypeInfos['id']; $reid = $refObj->TypeLink->TypeInfos['reid']; $topid = $refObj->TypeLink->TypeInfos['topid']; } else { $typeid = 0; } } else { $row2 = $dsql->GetOne("SELECT reid,topid,channeltype,ispart FROM `dede_arctype` WHERE reid='$topid' "); if(!is_array($row2)) { $typeid = $reid = $topid = $channeltype = $ispart = 0; } else { $reid = $row2['reid']; $channeltype = $row2['channeltype']; $ispart = $row2['ispart']; $typepid = $row2['id']; } } //调用Typeid if( !empty($topid) ) { $topQuery = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='$topid' And ishidden<>1 order by sortrank asc"; } $dsql->Execute('t', $topQuery); while($row = $dsql->GetArray('t')) { $row['typelink'] = GetOneTypeUrlA($row); //处理同级栏目中,当前栏目的样式 if( $row['id']==$typeid && $currentstyle!='' ) { $linkOkstr = $currentstyle; $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $revalue .= $linkOkstr; } else { $revalue .= " <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>/n"; } randomartlistSon($row['id'],$typeid,$currentstyle, $revalue); } if($cacheid !='') { WriteCacheBlock($cacheid, $revalue); } return $revalue;} function randomartlistSon($id,$typeid,$currentstyle,&$revalue){ global $dsql; $query = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='{$id}' And ishidden<>1 order by sortrank asc"; $dsql->Execute($id, $query); $thisv = ''; while($row = $dsql->GetArray($id)) { $row['typelink'] = GetOneTypeUrlA($row); //处理同级栏目中,当前栏目的样式 if( $row['id']==$typeid && $currentstyle!='' ) { $linkOkstr = $currentstyle; $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $thisv .= $linkOkstr; } else { $thisv .= " <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>/n"; } randomartlistSon($row['id'],$typeid,$currentstyle, $thisv); } if($thisv!='') $revalue .= " <ul>/n$thisv </ul>/n";}
2、调用方式:
<div class="alist"> <ul> {dede:randomartlist topid='12' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a></li>"} <li><a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">{dede:field name='typename'/}</a></li> {/dede:randomartlist} </ul> </div>
3、css方式:
.alist{} /*第一层修饰*/ .alist ul {} .alist ul li {} .alist ul li a{} .alist ul li a:hover,.alist ul li .thisclass{} /*第二层修饰*/ .alist ul li ul{} .alist ul li ul li{} .alist ul li ul li a{} .alist ul li ul li a:hover,.alist ul li ul li .thisclass{}
php删除接口:在指定的数据库数据表中根据ID删除指定的数据
上面是“详解织梦dedecms5.7 无限级多级栏目菜单调用方法”的全面内容,想了解更多关于 织梦cms 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_492.html
workflows工作流
一只由粉色水晶与羽毛组成的巨型高跟鞋
一只外星甲壳虫子ComfyUI工作流
一种长着彩虹翅膀的虫子comfyui工作流
一颗翡翠玉雕盆栽树comfyui工作流
一张科幻照片,火星车在沙漠里ComfyUI工作流
一个全脸彩绘和纹身的超级名模ComfyUI工作流
一个港口配备了小型船只、起重机、集装箱和码头
一个纸杯蛋糕ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

jquery做一个漂亮挂墙动态时钟
3D立体人物效果
javascript如何利用draggable实现一个拖拽效果
iframe开发admin后台
canvas经线动画走到效果
纯html+css做一个3d统计效果
自动打字效果(惊喜在后面)
js导出excel插件(兼容mac电脑Numbers表格)













