首页 | 风讯安装 | 后台管理 | 升级转换 | 模板制作 | 标签说明 | 采集说明 | 常见问题 | 自由标签 | 样式管理 | 功能扩展 | 插件使用 |
常 见 问 题
新 手 入 门
中 级 进 阶
高 级 技 巧
 3.2.sp1实现通用标签[方法说明] ★★★★★ 【字体:小 大】 
3.2.sp1实现通用标签[方法说明]
http://www.foosun.cn   作者:忘记注册了   来源:  点击:  更新时间:06-06-17 15:30:53

通用标签一直是大家所希望有的,前段时间,我改了几个标签,实现通用。我本来在想能否用更简单的方法来实现,但是一直没想出来,呵呵~(水平太差^_^)。就只好提供一个标签函数修改的方法给大家参考一下,并非所有的标签都可以用。修改的时候,请注意一下。

我用推荐新闻的标签函数做个示例:

打开\ foosun\admin\Refresh\RefreshFunction.asp 搜索:Function RecNews找到推荐新闻的标签函数:

Function RecNews(ClassEName,SoonClassStr,NewNumberStr,TitleNumberStr,RowNumberStr,NaviPicStr,CompatPicStr,OpenTypeStr,CSSStyleStr,RowHeightStr,TxtNaviStr)
 Dim RecNewsSql,RsRecNewsObj,i
 TitleNumberStr = GetTitleNumberStr(TitleNumberStr)
 OpenTypeStr = GetOpenTypeStr(OpenTypeStr)
 CompatPicStr = GetCompatPicStr(CompatPicStr,"","",RowNumberStr)
 NaviPicStr = GetNewsNavitionStr(TxtNaviStr,NaviPicStr)
 if RowHeightStr <> "" then RowHeightStr = " Height=""" & RowHeightStr & """"
 '-------------
 dim TemppID,TemppSql,EndClassIDList
 If ClassEName<>"" then
  If SoonClassStr="1" then
   TemppSql="select ClassID from FS_NewsClass where ClassEName='" & ClassEName & "'"
   Set TemppID=conn.execute(TemppSql)
   EndClassIDList= "'" & TemppID(0) & "'" & AllChildClassIDStrList(TemppID(0))
  Else
   TemppSql="select ClassID from FS_NewsClass where ClassEName='" & ClassEName & "'"
   Set TemppID=conn.execute(TemppSql)
   EndClassIDList="'" & TemppID(0) & "'"
  End if
 Else   '当标签所选栏目为空时
  If SoonClassStr="1" then   '当选择了包含子类时 
        Select Case Fun_Refresh_Type   '选择当前所在的类别
           Case "Class"     '当当前类别为栏目的时候
              EndClassIDList = "'" & Fun_Refresh_ID & "'" & AllChildClassIDStrList(Fun_Refresh_ID)     'EndClassIDList取值为当前的栏目的栏目id加其所有子栏目的栏目id
           Case "News"     '当当前的列别为新闻页面时
              dim temp1rs,temp1sql,temp1id
            temp1sql = "select classid from fs_news where newsid = '" & Fun_Refresh_ID & "'"
         set temp1rs = conn.execute(temp1sql)
           if not temp1rs.eof then
             temp1id = temp1rs("classid")
           end if
        EndClassIDList = "'" & temp1id & "'"          'EndClassIDList取值为当前新闻所在的栏目id
           Case Else
              EndClassIDList = ""           '当当前类别不在所列出的类别之内时EndClassIDList取空值
        End Select
  else    '当标签所选栏目为空,并却不包含子类时
     EndClassIDList = "'" & Fun_Refresh_ID & "'"       'EndClassIDList取值为当前栏目的栏目id
  end if 
 end if
 if EndClassIDList <> "" then      '当EndClassIDList的值不为空的时候
  RecNewsSql = "Select Top " & NewNumberStr & " *,FS_NewsClass.FileExtName as ClassFileExtName,FS_News.FileExtName as NewsFileExtName from FS_News,FS_NewsClass where FS_News.ClassID=FS_NewsClass.ClassID and FS_News.DelTF=0 and FS_News.RecTF=1 and FS_News.AuditTF=1 and FS_News.ClassID in(" & EndClassIDList & ") order by FS_News.ID Desc"      'RecNewsSql查询EndClassIDList所列出的所有栏目下的推荐新闻
 else   '当EndClassIDList取值为空的时候
    Select Case Fun_Refresh_Type     '选择当前页面类别(上面已经做了栏目和新闻的,所以这里就是专题和除了栏目、新闻、专题之外的类别选择)
    Case "Special"     '当类别为专题的时候
    RecNewsSql = "Select Top " & NewNumberStr & " *,FS_NewsClass.FileExtName as ClassFileExtName,FS_News.FileExtName as NewsFileExtName from FS_News,FS_NewsClass where FS_News.ClassID=FS_NewsClass.ClassID and FS_News.DelTF=0 and FS_News.RecTF=1 and FS_News.AuditTF=1 and FS_News.SpecialID like '" & Fun_Refresh_ID & "' order by FS_News.ID Desc"      '查询当前专题中的所有推荐新闻
    Case Else
    RecNewsSql = "Select Top " & NewNumberStr & " *,FS_NewsClass.FileExtName as ClassFileExtName,FS_News.FileExtName as NewsFileExtName from FS_News,FS_NewsClass where FS_News.ClassID=FS_NewsClass.ClassID and FS_News.DelTF=0 and FS_News.RecTF=1 and FS_News.AuditTF=1 order by FS_News.ID Desc"  
'当前类别在所有选择的类别之外的,查询所有的推荐新闻
    End Select
 end if
 Set RsRecNewsObj = Conn.Execute(RecNewsSql)
 RecNews = "<table cellpadding=""0"" cellspacing=""0"" border=""0"" width=""100%"">" & Chr(13) & Chr(10)
 do while Not RsRecNewsObj.Eof
'=============中间内容省略================================================
 RecNews = RecNews & "</table>"
End Function

红色部分为修改内容,兰色部分为注释。

使用方法:当标签选择了栏目时,就调用所选栏目的内容。当标签不选择栏目的时候,则自动识别当前所在位置,调用符合当前位置的新闻。

 

修改后的程序截图:

图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看



 

文章录入:风讯科技  责任编辑:风讯科技  
·上一篇:最新新闻标签调用新闻标题后显示 是否图片新闻、点击次数等
·下一篇:自己扩展的风讯3.1的幻灯片
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 没有任何评论
2002-2006 Foosun Inc. 四川风讯科技发展有限公司.版权所有  蜀ICP备 05005237