“通用信息列表”如何只显示本周的文章

作者:HLM 来源:本站原创 点击数: 发布时间:2010年01月25日

问:我想实现一个列表,列表只显示本周的文章,“通用信息列表”标签自带的参数能实现吗?

答:“通用信息列表”标签关于时间限定的参数有两个

 

1、inDays   ------------近多少天的项目

2、betDate  ------------介于时间段之间的项目

 

但是这两个参数都并不符合我们的要求,使用inDays可能横跨两个星期的文章,betDate 需要有明确的时间段作限制。如何能精确地获取今星期以内的文章呢?既然系统自带的标签不能满足,那就改造吧···

 

分析:本周的文章的更新日期肯定晚于或者等于本周周一的日期,那就是本周的文章的UpdateTime字段的值大于等于本周周一的日期,那么如何获取本周周一的日期就是关键,查阅相关资料得到相应的SQL语句:DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)      该语句根据当前日期获取得到所在星期的星期一,相信不用再多说,赶紧修改一下“通用信息列表”,新功能即将诞生!!!

-----------------------------------------------------------------------------------------------------------

1、先加个参数,theWeek,值取 true或者false,作为开关用

 

 

2、修改标签内容,找到如下位置,加入红色代码











































'
''




      AND CM.LinkType = 0


      AND SI.SpecialID IN ()


      AND CM.ModelID IN ()


      AND CM.GeneralID IN ()


      AND CM.EliteLevel >=


      AND CM.Priority >=


      AND CM.Hits >=


      AND CM.DayHits >=


      AND CM.WeekHits >=


      AND CM.MonthHits >=


      AND DATEDIFF(d,CM.UpdateTime,GETDATE()) <=

   
      AND DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) <= CONVERT(varchar(10) , CM.UpdateTime, 120 )

   
   


          AND CM.DefaultPicUrl != ''''


          AND CM.Inputer = ''''


          AND CM.Editor = ''''


          AND (CONVERT(varchar(10) , CM.UpdateTime, 120 )  >= '''') AND (CONVERT(varchar(10) , CM.UpdateTime, 120 )  <= '''')




          AND CM.DefaultPicUrl != ''

 

标签调用如下,则只显示本周的文章:

{PE.Label id="通用信息列表" bindStyle="普通式" usePage="false" outputQty="10" titleLength="50" nodes="0"  theWeek="true" /}

-----------------------------------------------------------------------------------------------