分类分类
大小:3 KB更新:2010/09/29
类别:php168插件系统:Linux/2003/PHP
对于在不同的栏目区域让超连接显示不同的颜色虽然已经实现,但对于如何让首页标签调用的最新发表的文章(24小时之内)和热门文章(根据后台设置浏览量达到多少的文章为热门文章)标题显示不同的颜色,今天终于终于实现了,现在和朋友们一起分享。
要达到这个效果,只需要修改两处:
1、修改label_function.php(路径:根目录/inc/label_function.php);
2、修改后台标签中的模板代码。
具体步骤:
一、修改label_function.php(路径:根目录/inc/label_function.php)
1、用记事本打开label_function.php文件,查找下面的代码:
function Get_Title($format){
global $db,$webdb,$pre;
//此处屏障报错,主要是处理不同版本之间存在的一些差异性问题
$query=$db->query("$format[sql]",'','0');
if(!$query){
return ;
}
while($rs=$db->fetch_array($query)){
$rs[i]=++$i;
if($format[wninfo]&&$rs[mid]){
$_rss=$db->get_one("SELECT * FROM {$pre}{$format[wninfo]}content_{$rs[mid]} WHERE id='$rs[id]' LIMIT 1");
$_rss && $rs=$rs+$_rss;
}
$rs[full_time]=$rs[posttime];
$rs[full_title]=$rs[title];
//内容
$rs[content]=preg_replace('/<([^>]*)>/is',"",$rs[content]); //把HTML代码过滤掉
$rs[content]=get_word($rs[content],$format[content_num]);
//标题
$rs[title]=get_word($rs[title],$format[titlenum],$format[titleflood]);
2、在上述的代码下面增加如下代码:
if ($rs[posttime]>=time()-86400&&$webdb[hotArticleNum]&&$rs['hits']<=$webdb[hotArticleNum]){
$rs[titlecolor]="<font color=#EF5100>";
$rs[titlecolorn]="</font>";
$rs[newarticle]="<img src=$webdb[www_url]/imagess/default/new_ico.gif>";
}
elseif ($rs[posttime]>=time()-86400&&$webdb[hotArticleNum]&&$rs['hits']>$webdb[hotArticleNum]){
$rs[titlecolor]="<font color=#EF5100>";
$rs[titlecolorn]="</font>";
$rs[newarticle]="<img src=$webdb[www_url]/imagess/default/new_ico.gif>";
}
elseif($rs[posttime]<time()-86400&&$webdb[hotArticleNum]&&$rs['hits']>=$webdb[hotArticleNum]){
$rs[titlecolor]="<font color=#639600>";
$rs[titlecolorn]="</font>";
$rs[newarticle]="";
$rs[hotarticle]="<img src=$webdb[www_url]/imagess/default/hot_icon.gif
}
else{
$rs[titlecolor]="";
$rs[titlecolorn]="";
$rs[newarticle]="";
$rs[hotarticle]="";
}
增加的部分为判断条件:
1、如果发表文章的时间在24小时之内,浏览次数小于或等于后台设置的热门文章浏览量,则显示最新文章标题颜色,并有new图标显示;
2、如果发表文章的时间在24小时之内,浏览次数大于后台设置的热门文章浏览量,则仍然显示最新文章标题颜色,并有new图标显示;
3、如果发表文章的时间超过了24小时,浏览次数大于或等于后台设置的热门文章浏览量,则显示热门文章标题颜色,并有热门文章图标显示,new图标消失;
4、以上条件外的,则一律按照系统默认,new图标和热门文章图标将消失,颜色也为默认颜色。
二、修改后台标签模板代码
进入后台→系统基本操作→更新首页标签,在需要实现这样效果的标签蓝色区域点击,修改标签模板代码。只需要将颜色变量$titlecolor、$titlecolorn和最新文章图标变量$newarticle、热门文章图标变量$hotarticle插入到相应区域即可,如图所示:
这是我的标签模板代码,供朋友们参考:(时间靠右显示,这样比较美观一点,和效果演示的图片一样)
<div><div style="float:left">·<A HREF="$url" target='_blank'>{$titlecolor}$title{$titlecolorn}</a>{$newarticle}{$hotarticle}</div><div style="float:right">({$time_y}-{$time_m}-{$time_d})</div></div><br>
三、需要注意的地方:
检查一下后台关于最新文章和热门文章那里的设置,规定多少小时内发布的文章时间要为24小时方能正常显示此功能。具体方法:
后台→文章模块管理→模块设置,在右边的页面中,将“上面如果设置显示图标,那么最近几小时内发表的文章归为最新文章,即有图标显示”后面的时间改为24小时。为了能及时看到热门文章的效果,也可以将“上面如果设置显示图标,那么浏览多少次以上的文章归为热门文章,即有图标显示”后面的浏览次数改低一点,如10次。
五、效果演示:
20080626补充说明:
因为很多朋友可能习惯用网页编辑软件打开php文件,然后再直接复制论坛代码,容易导致一些错误,故提供文本文档,只要直接txt文档里的代码就不会出错.不过还是建议朋友用“记事本”来打开php文件。