主题 : 跟大家分享一下首页显示"new"图标
级别: 解元
UID: 10485
积分:253 加为好友
威望: 0 精华: 0
主题:20 回复:96
注册时间:2010-08-31
在线时长:0
1#   发表于:2012-05-27 14:10:03  IP:116.56.*.*
我之前在论坛中提过,结果没有能够回答我的问题,的确很失望,后面在搜索了一下资料,但结果还是显示不出来,自己研究了一下,显示出来了!
首先:在Article.java 添加

/**
 * 获取时间标识(显示new)
 * @return
 */
public long newFlag(){   
       Date date1 = this.getReleaseDate();   
       Date date2 = new Date();   
       long day = -1;   
       if(date1!=null){   
       day = (date2.getTime()-date1.getTime())/(24*60*60*1000)>1  
          ? (date2.getTime()-date1.getTime())/(24*60*60*1000) : -1;   
       }   
             return day;   
   }   

然后在style1_1_core.ftl中添加

[#--获取显示news图标--]
[#assign tempFlag="${ctt.newFlag()}"/]   
[#assign newFlag=tempFlag?number]   
[#if newFlag<0]   
  <img src="${sysResRoot}/com_tag/new.gif"/>[#rt]   
[/#if]

备注:24小时后会自动去掉new标识
级别: 解元
UID: 10485
积分:253 加为好友
威望: 0 精华: 0
主题:20 回复:96
注册时间:2010-08-31
在线时长:0
2#   发表于:2012-05-27 17:16:30  IP:116.56.*.*
 day = (date2.getTime()-date1.getTime())/(24*60*60*1000)>1   
改为:
 day = (date2.getTime()-date1.getTime())/(24*60*60*1000)>0  
级别: 秀才
UID: 32229
积分:81 加为好友
威望: 0 精华: 0
主题:3 回复:42
注册时间:2012-04-12
在线时长:0
3#   发表于:2012-05-29 17:15:22  IP:222.119.*.*
楼上的大哥您好,我死活没找到这两个文件,请问您的是2012版么?我用的是v3.0请问我该怎么做呢?急用,谢谢!!!
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
4#   发表于:2012-05-29 17:25:50  IP:115.64.*.*
这个在后台代码里,你按下Ctrl+h在编译器里面找下那类
功成由勤,业精于勤。
级别: 秀才
UID: 32229
积分:81 加为好友
威望: 0 精华: 0
主题:3 回复:42
注册时间:2012-04-12
在线时长:0
5#   发表于:2012-05-29 17:26:34  IP:222.119.*.*
回复第2楼
我用的是v3.0,请问需要修改哪两个文件呢?谢谢!!!
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
6#   发表于:2012-05-29 17:29:19  IP:115.64.*.*
在Article.java 添加,bbs最新版本的吧你

功成由勤,业精于勤。
级别: 秀才
UID: 32229
积分:81 加为好友
威望: 0 精华: 0
主题:3 回复:42
注册时间:2012-04-12
在线时长:0
7#   发表于:2012-05-29 17:30:19  IP:222.119.*.*
回复第4楼
我下的是安装包,是要下载一个源码包么?我没找到这个Article.java这个文件和style1_1_core.ftl文件。。。
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
8#   发表于:2012-05-29 17:32:16  IP:115.64.*.*
你安装包怎么修改啊?你的下载个源码包啊?然后导入到编译器修改啊
功成由勤,业精于勤。
级别: 解元
UID: 10485
积分:253 加为好友
威望: 0 精华: 0
主题:20 回复:96
注册时间:2010-08-31
在线时长:0
9#   发表于:2012-05-30 20:54:00  IP:180.63.*.*
我用的是v2.4版本的
级别: 解元
UID: 10485
积分:253 加为好友
威望: 0 精华: 0
主题:20 回复:96
注册时间:2010-08-31
在线时长:0
10#   发表于:2012-05-30 21:06:37  IP:180.63.*.*
3.0版本我没有研究过,我觉得应该差不错的,不过你要改源码,你要找到放文章的表是哪个?然后在里面加一个方法,

例如:2.4版本的是这个
就是首先:在Article.java 添加 

/** 
 * 获取时间标识(显示new) 
 * @return 
 */ 
public long newFlag(){    
       Date date1 = this.getReleaseDate();    //ReleaseDate 这个是发布文章时的时间
       Date date2 = new Date();    //这个是系统时间,也就是现在的时间
       long day = -1;    
       if(date1!=null){    
       day = (date2.getTime()-date1.getTime())/(24*60*60*1000)>0 
          ? (date2.getTime()-date1.getTime())/(24*60*60*1000) : -1;    
       }    
             return day;    
   }    

第二步:
找到样式的FTL文件,是文章的样式文件
例如在2.4版本中就是这个
然后在style1_1_core.ftl中添加 

[#--获取显示news图标--] 
[#assign tempFlag="${ctt.newFlag()}"/]    
[#assign newFlag=tempFlag?number]    
[#if newFlag<0]    
  <img src="${sysResRoot}/com_tag/new.gif"/>[#rt]    //提醒:这个自己要放的图片路径要对哦
[/#if] 

其实自己认真看我的代码就能解决问题了。
1 2 > >| 共2页