EMLOG实现读者墙并对其进行美化的代码
读者墙功能是博客网站中常见的功能之一,对于不懂代码的人来说,要实现起来确实很难,现在就来为大家分享一个在EMLOG上实现读者墙功能并对其进行美化的方法。
一、操作步骤
1、打开模板文件module.php,添加如下代码
<?php
function guest($num){
global $CACHE;
$user_cache = $CACHE->readCache('user');
$name = $user_cache[1]['name'];
$DB = Database::getInstance();
$sql = "SELECT count(*) AS comment_nums,poster,mail,url FROM ".DB_PREFIX."comment where date >0 and poster !='". $name ."' and poster !='' and hide ='n' group by poster order by comment_nums DESC limit 0,$num";
$log_content = $content[1];
if(strpos($log_content, '[READERWALL-WEEK]') > -1) {
$cur_time_span = strtotime('last Year',strtotime('Sunday'));
}
$result = $DB -> query( $sql );
while($row = $DB -> fetch_array($result)){
$img = "<li><a rel=\"external nofollow\" target=\"_blank\" href=\"" . $row[ 'url' ] . "\" title=\"" . $row[ 'poster' ] ."(赐教" . $row[ 'comment_nums' ] . "次)\"><img alt=\"avatar\" src=\"" . getGravatar($row['mail']) . "\" class=\"avatar\"><em>" . $row[ 'poster' ] ."</em><strong>+" . $row[ 'comment_nums' ] . "</strong></a></li>";
if( $row[ 'url' ] ){
$tmp = "<li><a rel=\"external nofollow\" target=\"_blank\" href=\"" . $row[ 'url' ] . "\" title=\"" . $row[ 'poster' ] ."\" ><img alt=\"avatar\" src=\"" . getGravatar($row['mail']) . "\"><em>" . $row[ 'poster' ] ."</em><strong>+" . $row[ 'comment_nums' ] . "</strong></a></li>";
}else{
$tmp = $img;
}
$output .= $tmp;
}
$output = ''. $output .'';
return $output ;
}
?>
2、打开模板样式文件style.css,添加如下代码
ul.readers-list{overflow:hidden;margin:0 auto;padding:0;}
ul.readers-list li{display:inline-block;width:20%;}
ul.readers-list a{position:relative;display:block;overflow:hidden;margin:0 4px;padding:4px 4px 4px 44px;height:40px;border:1px solid #eaeaea;color:#999;text-decoration:none;line-height:32px;}
ul.readers-list img{float:left;margin:0 8px 0 -38px;width:30px;height:30px;border:3px #fff solid;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(34,25,25,.5);}
ul.readers-list em{position:absolute;overflow:hidden;margin-right:10px;width:50%;height:36px;color:#000;text-overflow:ellipsis;white-space:nowrap;font-style:normal;transition:all .2s ease-out;}
ul.readers-list strong{position:absolute;right:8px;width:20%;color:#999;text-align:right;}
3、在侧边栏或单页面上添加如下引用代码即可
<ul class="readers-list"><?php echo guest(100); ?></ul>
二、原理解析
在模板核心文件中添加读者墙功能代码,通过CSS对其进行美化,然后输出即可
三、注意事项
1、本教程中的引用代码推荐添加在单页面上