栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > dedecms

织梦模板dedecms5.7 无限级多级栏目菜单调用教程

dedecms 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

织梦模板dedecms5.7 无限级多级栏目菜单调用教程

以前在用到5.7无限级栏目列表菜单时下载了网上的资料都未成功,因此我参考网上及dedecms本身的channel.lib.php及cattree.lib.php制作了调用标签。
1、在includetaglib建立randomartlist.lib.php
   内容如下:
 
 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 .= "    
  • {$row['typename']}
  • 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 .= "
  • {$row['typename']}
  • n"; } randomartlistSon($row['id'],$typeid,$currentstyle, $thisv); } if($thisv!='') $revalue .= "
      n$thisv
    n"; } 2、调用方式:
      {dede:randomartlist topid='12' current}
    • {dede:field name='typename'/}
    • {/dede:randomartlist}
    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{}

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/7130.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号