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、本教程中的引用代码推荐添加在单页面上