订阅/程序下载
首页 > 5ucms改进 > 正文
实现5ucms后台内容管理页面栏目树形导航
作者:Qiuss 来源:csshaier 日期:2010/4/20 15:51:55 浏览量:533(滞后) 人气:LOADING...(实时) 【

  无忧CMS的轻便灵巧曾是广大站长朋友的不二选择,然一旦网站栏目众多的时候,在它的后台内容页面的栏目导航就显得眼花缭乱,就连自己都分不清哪个是一级栏目,哪个是二级栏目了,为此cssHaier也是苦恼不已,于是兴起了给它改造的念头。
  我想实现的是什么呢?1,大类要显示列表,这个在之前的5ucms后台内容管理实现大类列表一文中已经实现了,此时要做的便是继续保留它。第二个要实现的便是今日的主题,让每个大类下面都能显示出它下面的子类和统计栏目文章数,[{pre}Channel]是栏目表,所有的类别信息都在这一个表中,想实现之前的第二个目的,无疑就要从这里开始了。
  经过一个小时的测试,终于实现了,并在0409版和2024版中分别测试通过!(注:这里的栏目深度为3,也就是说网站存在三级栏目以及以下都可以正常使用,若存在四级,则需要手动再增加一个循环了。)

  

  下面贴一下实现代码

      1、打开admin/admin_content.asp页面,大约226行,找到以下内容

  下面贴一下实现代码

      1、打开admin/admin_content.asp页面,大约226行,找到以下内容

<%Set Ns = DB("Select [ID],[Name] From [{pre}Channel] Where [OutSideLink]=0 Order By [Order] Desc,[ID] Desc",1)%> <%Do While Not Ns.Eof%>   
    <option value='Admin_Content.Asp?Page=1&Key=<%=Ns(0)%>&DFieldKey=Cid' <%If DFieldKey="Cid" And Cstr(Key)=Cstr(Ns(0)) Then%>selected<%End If%>><%=Ns(1)%></option>   
    <%Ns.MoveNext : Loop%>  

2、将其整体注释掉或者删除并替换为一下内容(修改前请务必备份!)

<%   
 Dim Sqlp,Rsp,sqlpp,rspp   'by cssHaier
  Set Rsp=db("select * from [{pre}Channel]  Where [OutSideLink]=0 and [fatherid]=0 Order By [Order] Desc,[ID] Desc",2)      
         If Rsp.Eof and Rsp.Bof Then  'by cssHaier
      Response.Write("<option value="""">请先添加分类</option>")   
   Else  
      Do while not Rsp.Eof      
 Response.Write("<option value=" & """Admin_Content.Asp?Page=1&Key=" & Rsp("ID") & "&DFieldKey=Cid""" & "")   
  If DFieldKey="Cid" And Cstr(Key)=Cstr(Rsp("id")) Then  
  Response.Write(" selected" )    
  End if   
  Response.Write(">" & Rsp("Name") & " ("&DB("Select Count([ID]) From [{pre}Content] Where [cid] in("&Rsp("ChildIDs")")",1)(0)  ")</option>")  & VbCrLf   
            
  Sqlpp ="select * from [{pre}Channel] Where [fatherid]="&Rsp("ID")" and [OutSideLink]=0 Order By [Order] Desc,[ID] Desc"  
  Set Rspp=db(sqlpp,2)   
   Do while not Rspp.Eof    
   Response.Write("<option value=" & """Admin_Content.Asp?Page=1&Key=" & Rspp("ID") & "&DFieldKey=Cid""" & "")   
  If DFieldKey="Cid" And Cstr(Key)=Cstr(Rspp("id")) Then  
  Response.Write(" selected" )    
  End if   
  Response.Write("> |-" & Rspp("Name") & " ("&DB("Select Count([ID]) From [{pre}Content] Where [cid] in("&Rspp("ChildIDs")")",1)(0)")")   
  Response.Write("</option>" )   & VbCrLf   
  
  Dim cs:Set cs=db("select * from [{pre}Channel] Where [fatherid]=" &Rspp("ID") "And [OutSideLink]=0 Order By [Order] Desc,[ID] Desc",2)   'by cssHaier
  Do while not cs.Eof    
   Response.Write("<option value=" & """Admin_Content.Asp?Page=1&Key=" & cs("ID") & "&DFieldKey=Cid""" & "")   
 If DFieldKey="Cid" And Cstr(Key)=Cstr(cs("id")) Then  
 Response.Write(" selected" )    
 End if   
Response.Write(">        |-" & cs("Name") & " ("&DB("Select Count([ID]) From [{pre}Content] Where [cid] in("&cs("ChildIDs")")",1)(0)")")   
  Response.Write("</option>" )   & VbCrLf   
  cs.Movenext   
  Loop    
  cs.close   
  Set cs=nothing   
  Rspp.Movenext      
 Loop  
rspp.close   
set rspp=nothing   
Rsp.Movenext      
      Loop      
   End if   
rsp.close   
set rsp=nothing   
                    %>  

原文:http://www.csshaier.com/102.html

本站推荐:5ucms模板 5ucms插件 微信/QQ:3876307        [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms搜索结果显示图片
下一篇:解决5UCMS批量删除文章不能同时删除评论的bug
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
常见问题: 什么是路径码? 如有问题,请在下方评论提问或加入5ucmsQQ群
实现5ucms后台内容管理页面栏目树形导航的关键词:5UCMS栏目树形导航
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org 微信/QQ:3876307