JTBC(CMS)

开源与免费的跨平台网站内容管理系统解决方案

腾讯交流群: 2254994
技术支持群: 27032719
首页 » 在线论坛 » ASP版本 
帖子内容
1 楼
sztomjon
注册会员
积分 68
注册 2009-09-19
     
[原创]实现文章终极分类显示的方法
接触jtbc有一个多月了,很好....再次感谢jtbc!
这几天结合网上的强贴解决了以下问题,拿来与大家共享:
1.利用isort函数和itransfer函数实现网站自动生成目录和相应目录的办法,思路是(说明我的模块名为news):
利用两次isort函数,在module.list节点中加入函数
==========
{$=isort("tpl=1_2;rnum=1;class=" & request("classid"))}
============
注意上面的tpl=1_2很关键,(.tpl.tpl_sort.1_2)节点,1_2节点内容为
=============
<table border="0" width="100%" cellpadding="0" cellspacing="0" class="lrbtline">{$}
{$$}         
<tr><td height="25" class="tbh"><img src="{$global.images}public/small/pointblue.gif" border="0"><a href="{$=curl("{$baseurl}", iurl('list', {$id}, {$urltype}, 'folder={$createfolder};filetype={$createfiletype}'))}" target="_self">{$sort}</a></td>
  </tr>
    <tr>
    <td>{$=itransfer('top', 'my_sort_2', 'topx=10;tnum=50;genre=news;osql= and [jtb_aclass] in("&{$id}&")')}
</td>
              </tr>{$$}{$}
            </table>
======
注意里面有一个my_sort_2的节点,内容为公用调用模版中的节点.tpl.tpl_transfer.my_sort_2
====================
<table border="0" width="100%" cellpadding="0" cellspacing="0" >{$}
  <tr>{$$}
    <td class="tda"><img src="{$global.images}public/small/sico.gif" border="0"><a href="{$=curl("{$baseurl}", iurl('detail', {$id}, {$urltype}, 'folder={$createfolder};filetype={$createfiletype};time={$time}'))}" target="_self">{$topic}</a>(阅读:{$count})</td><td align="right" class="tda">{$=format_date("{$time}",1)}</td>{$$}
  </tr>{$}
</table>
=================
这样文章类和相应类的文章列表就自动生成了,但美中不足的是当运行到没有子类的时候(我称为终极类别),显示类别为空,此时无法生成下一级列表.导致终极类显示不好看.
经过我昨天到今天的思索,终于实现了终极文章显示的问题.这是我主要想讲的
2.实现文章终极列表页的思路和方法:
思路:1实现了有子类的情况,但在终极列表出现时却还是使用list模版,系统只有两种模式,list类模版和详细页detail模式.
我在list模式中加了些改进,即在调入处理模版前先断定是否为终极类,若为非终极类,按原LIST模版处理,若为终极类,则按我们的终极类模版(我定义此终极类的模版节点为lastlist)

///修改方法
1.修改/common/incfiles/目录下的module_config.asp处理程序.<font class="red">

Function jtb_cms_module_list()
  Dim classid, classids
  classid = get_num(request.querystring("classid"),0)
  classids = get_sortids(ngenre, nlng)
    '目前默认是处理有子类的列表类,遇到终极列表类则显示不友好,故作以下改进
    '判断是否为终极类,是则继续下去,否则,调用终极模版
    '判断方法:判断当前sortid的值是否存在于sort_fid字段中,注意此时必须加上此ID的类型值sort_genre为条件
    '即此类型中的父ID是否存在,若存在,则为非终极类,继续执行此列表;若为空说明此为终极列表,则调用终极模版
 
Dim tmpstr, tmpastr, tmprstr, tmptstr
'============================加入代码部分<font class="red">
  Dim mygenre,myrs,mysqlstr
    mygenre  ="news" '直接指定模块名,注意不同类别模块名称字不同
    set myrs=server.createobject("adodb.recordset")
    mysqlstr="select * from jtb_sys_sort  where sort_fsid ="&classid& " and sort_genre ='"&mygenre&"' and sort_hidden =0"
  Set myrs = conn.Execute(mysqlstr)
If Not myrs.eof Then '非终极列表
  tmpstr = itake("module.list", "tpl") '将模版module文件中的list节点的内容输出来
' Call client_alert("intolist", -1)
else  '为终极列表
  tmpstr = itake("module.lastlist", "tpl") '将终极模版中的module文件中的lastlist节点的内容输出来
  ' Call client_alert("success,intolastlish", -1)
end if
Set myrs = Nothing

'=====================下面的不变
tmpastr = ctemplate(tmpstr, "{$recurrence_ida}")
  sqlstr = "select top " & nlisttopx & " * from " & ndatabase & " where " & cfname("hidden") & "=0"
  If Not classid = 0 Then
  Then................
===========

帖子被 sztomjon 于 2009-10-05 18:29:04 编辑过
本帖由 sztomjon 于 2010-05-17 16:04:01 编辑过
2009-10-05 17:38:11
2 楼
jetiben
管理员
积分 7330
注册 2006-06-28
     
:)  顶, 好帖
2009-10-05 18:07:49
3 楼
tuotuo
金牌会员
积分 1214
注册 2008-03-21
     
:)
2009-10-05 21:55:22 .
4 楼
new
银牌会员
积分 806
注册 2009-06-30
     
强,才接触一个月就这么厉害
2009-10-06 09:49:34
5 楼
apje
注册会员
积分 1448
注册 2008-03-08
     
:) 好长啊!没看到几行就怕了。。

模块的终极页不是直接给模块的"module.jtbc"加个"index"节点不就行了吗? 干嘛那么麻烦!:) :)

要是想终极页显示分页,还需要自己写一个分页类



帖子被 apje 于 2009-10-06 10:37:38 编辑过
2009-10-06 10:35:08 [承接]【ASP & PHP & ASP.NET】JTBC模块开发、功能增强、模板制作 QQ:175941201
6 楼
sztomjon
注册会员
积分 68
注册 2009-09-19
     
原帖由 apje 发表于 2009-10-06 10:35:08
:) 好长啊!没看到几行就怕了。。

模块的终极页不是直接给模块的"module.jtbc"加个"index"节点不就行了吗? 干嘛那么麻烦!:) :)

要是想终极页显示分页,还需要自己写一个分页类
==============
我遇到的情况和你说的可能不太一样,我遇到的是在显示栏目分类时列表时,在终极时,系统还是继续调用LIST模版,而这时LIST模版显示为空,影响布局,所以在终极时需要做一个判断和处理.



帖子被 apje 于 2009-10-06 10:37:38 编辑过
2009-10-06 19:43:43
7 楼
xinlan007
注册会员
积分 4
注册 2010-03-10
     
回复: [原创]实现文章终极分类显示的方法
学学看
2010-03-17 18:35:20
8 楼
ahjsyzwys
银牌会员
积分 90
注册 2007-12-28
     
回复: [原创]实现文章终极分类显示的方法
还在学习当中,好好的看看。
2010-03-20 03:49:52
9 楼
5649678
注册会员
积分 112
注册 2008-07-10
     
回复: [原创]实现文章终极分类显示的方法
很好,非常好!
2010-03-23 14:00:29 我的网站也用JTBC
10 楼
briankmyu
注册会员
积分 116
注册 2009-06-17
     
回复: [原创]实现文章终极分类显示的方法
‘Call client_alert("intolist", -1)
' Call client_alert("success,intolastlish", -1)
这两行被注释掉了,请问这个是程序代码还是注释呢?

2010-04-15 00:37:07