5ucms大类下面显示所有文章 支持静态 支持原格式显示大分类

5ucms大类下面显示所有文章:
 

比如有一个大类:新闻,新闻下面又添加了几个小类,国内新闻,国外新闻。

如果我想点击新闻的时候把所有的新闻都显示出来(国内新闻、国外新闻),现在程序实现不了这个功能,于是就查看了一下5u的程序,找到了解决的办法,于是发个帖子,分享出来:

打开inc/class_template.asp这个文件,找到289行, 把

 

  1. If Len(CID) > 0 And isnumeric(CID) Then Tag_Where = Tag_Where & " And [CID]=" & CID ' 存在CID则调用指定CID/SID的内容
复制代码



替换成:

 

  1. Dim rui
     
  2. If Len(CID) > 0 And isnumeric(CID) Then
     
  3. set rui=db("select * from [{pre}Channel] where ID="&CID&"",1)
     
  4. If Not rui.Eof Then
     
  5. Tag_Where = Tag_Where & " And [CID] in ("&rui("ChildIDs")&")" ' 存在CID则调用指定CID/SID的内容
     
  6. else
     
  7. Tag_Where = Tag_Where & " And [CID]=" & CID
     
  8. end if
     
  9. rui.Close: Set rui = Nothing
     
  10. end if
复制代码


这个。然后在后台“栏目管理”里面,把“新闻”这个大类的“大类模板”改成list.html

 


 

现在动态访问没有问题了,但是生成静态还有问题。需要修改admin_xxx(后台目录里面的)admin_createhtml.asp这个文件:

把94行的end if屏蔽掉或删除这行。

5ucms大类下面显示所有文章 支持静态 支持原格式显示大分类

然后把40行的

  1. Set Rs = DB("Select [ID],[Name],[ChildID] From [{pre}Channel] Where [OutSideLink]=0 And [ID]>=" & Cids & " Order BY [ID] Asc",1)
复制代码


这个改为:

 

 

  1. Set Rs = DB("Select [ID],[Name],[ChildID],[ChildIDs] From [{pre}Channel] Where [OutSideLink]=0 And [ID]>=" & Cids & " Order BY [ID] Asc",1)
复制代码

 

然后把55行的

               

  1. Dim PageSizes : PageSizes = GetListSize(GetChannel(Rs(0),"Templateclass")) : Set Ns = DB("Select Count([ID]) From [{pre}Content] Where [CID]=" & Rs(0),1)
复制代码

 

替换成:

               

  1. Dim PageSizes : PageSizes = GetListSize(GetChannel(Rs(0),"Templateclass")) : Set Ns = DB("Select Count([ID]) From [{pre}Content] Where [CID] in (" &chenrui&")",1)
复制代码

 


 

然后把49-52行的这几行

      

  1. If Len(Rs(2)) > 0 Then
     
  2. Call CreateChannel(Rs(0),1) : Response.Write "<span style='float:left;width:240px;' class='c_1'><font color=blue>封面</font> " & GetChannel(Rs(0),"Ruleindex") & "Index." & Defaultext & "</span>"
     
  3. Call DB("Update [{pre}Channel] Set [NeedCreate]=0 Where [ID]=" & Rs(0),0)
     
  4. Else
复制代码

 

替换成:

      

  1. If Len(Rs(3)) > 0 Then
     
  2. dim chenrui
     
  3. chenrui=Rs(3)
     
  4. Else
     
  5. chenrui=Rs(0)
     
  6. end if
复制代码

 

把最好修改inc文件夹的class_html/channel/

把34行

      

  1. If Len(Rs(2)) > 0 Or Page = 1 Then
复制代码

 

替换成:

      

  1. If Page = 1 Then
复制代码