5ucms大类分页改进方法,显示全部子类文章

参考链接:http://hi.baidu.com/hbstudy/item/54c8594afe61d625f9896091

让5ucms大类分页改进方法 显示全部子类文章 .

5ucms大类下面显示所有文章(可分页):

 

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

 

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

 

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

 

If Len(CID) > 0 And isnumeric(CID) Then Tag_Where = Tag_Where & ” And [CID]=” & CID ‘ 存在CID则调用指定CID/SID的内容

 

替换成:

 

Dim rui

 If Len(CID) > 0 And isnumeric(CID) Then

 set rui=db(“select * from [{pre}Channel] where ID=”&CID&””,1)

 If Not rui.Eof Then

 Tag_Where = Tag_Where & ” And [CID] in (“&rui(“ChildIDs”)&”)” ‘ 存在CID则调用指定CID/SID的内容

 else

 Tag_Where = Tag_Where & ” And [CID]=” & CID

 end if

 rui.Close: Set rui = Nothing

 end if

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

 

 

 

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

 

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

 

 

 

然后把40行的 Set Rs = DB(“Select [ID],[Name],[ChildID] From [{pre}Channel] Where [OutSideLink]=0 And [ID]>=” & Cids & ” Order BY [ID] Asc”,1)

 这个改为:

 

Set Rs = DB(“Select [ID],[Name],[ChildID],[ChildIDs] From [{pre}Channel] Where [OutSideLink]=0 And [ID]>=” & Cids & ” Order BY [ID] Asc”,1)

 

然后把55行的

 

                Dim PageSizes : PageSizes = GetListSize(GetChannel(Rs(0),”Templateclass”)) : Set Ns = DB(“Select Count([ID]) From [{pre}Content] Where [CID]=” & Rs(0),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行的这几行

 

        If Len(Rs(2)) > 0 Then

 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>”

 Call DB(“Update [{pre}Channel] Set [NeedCreate]=0 Where [ID]=” & Rs(0),0)

 Else

 

替换成:

 

        If Len(Rs(3)) > 0 Then

 dim chenrui

 chenrui=Rs(3)

 Else

 chenrui=Rs(0)

 end if

 

 

 

 

最好修改inc文件夹的class_channel.asp

 

把34行

 

        If Len(Rs(2)) > 0 Or Page = 1 Then

 

替换成:

 

        If Page = 1 Then

 

 

 

获取指定大栏目下子栏目的文章(不可分页)

 作者 Mscga 来源 本站原创 浏览 7891 发布时间 08/04/08 

子栏目随时会变,手动指定麻烦的情况下,先通过查询主栏目获取所有子栏目,然后再列出所有子栏目的文章,

 

这里假设父栏目编号为3

 

<!–Channel:{ $Table=Channel $Where=id=3 }–>

 <!–List:{ $Row=10 $Cid=[Channel:childid] }–>

 [List:titlex] <br/>

 <!–List–>

 <!–Channel–>

 

[channel:childid] 是表示栏目3下的二级栏目

 

[channel:childids] 是表示栏目3下所有子栏目

此条目发表在dedecms参考分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>