无忧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
%>
上一篇:[5ucms改进] 下一篇:为何你的5ucms进后台首页等页面 突然变的极其缓慢? |
|
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。 常见问题: 什么是路径码? 如有问题,请在下方评论提问或加入5ucmsQQ群 实现5ucms后台内容管理页面栏目树形导航的关键词:实现5ucms后台内容管理页面栏目树形导航 |