1. 首页 / 知识 /  正文

在emlog博客程序中加入相关文章代码

在emlog博客程序中加入相关文章代码

添加步骤:

在当前主题module.php文件中添加如下代码:
<?php
function related_logs($logData = array())
{
$configfile = EMLOG_ROOT.'/content/plugins/related_log/related_log_config.php';
if (is_file($configfile)) {
require $configfile;
}else{
   $related_log_type = 'sort';//相关日志类型,sort为分类,tag为日志;
   $related_log_sort = 'rand';//排列方式,views_desc 为点击数(降序)comnum_desc 为评论数(降序) rand 为随机 views_asc 为点击数(升序)comnum_asc 为评论数(升序)
   $related_log_num = '10'; //显示文章数,排版需要,只能为10
   $related_inrss = 'y'; //是否显示在rss订阅中,y为是,其它值为否
   }
   global $value;
   $DB = MySql::getInstance();
   $CACHE = Cache::getInstance();
   extract($logData);
   if($value)
   {
       $logid = $value['id'];
       $sortid = $value['sortid'];
       global $abstract;
   }
   $sql = "SELECT gid,title FROM ".DB_PREFIX."blog WHERE hide='n' AND type='blog'";
   if($related_log_type == 'tag')
   {
       $log_cache_tags = $CACHE->readCache('logtags');
       $Tag_Model = new Tag_Model();
       $related_log_id_str = '0';
       foreach($log_cache_tags[$logid] as $key => $val)
       {
           $related_log_id_str .= ','.$Tag_Model->getTagByName($val['tagname']);
       }
       $sql .= " AND gid!=$logid AND gid IN ($related_log_id_str)";
   }else{
       $sql .= " AND gid!=$logid AND sortid=$sortid";
   }
   switch ($related_log_sort)
   {
       case 'views_desc':
       {
           $sql .= " ORDER BY views DESC";
           break;
       }
       case 'views_asc':
{
           $sql .= " ORDER BY views ASC";
           break;
       }
       case 'comnum_desc':
       {
           $sql .= " ORDER BY comnum DESC";
           break;
       }
       case 'comnum_asc':
       {
           $sql .= " ORDER BY comnum ASC";
           break;
       }
       case 'rand':
       {
           $sql .= " ORDER BY rand()";
           break;
       }
   }
   $sql .= " LIMIT 0,$related_log_num";
   $related_logs = array();
   $query = $DB->query($sql);
   while($row = $DB->fetch_array($query))
   {
       $row['gid'] = intval($row['gid']);
       $row['title'] = htmlspecialchars($row['title']);
       $related_logs[] = $row;
   }
   $out = '';
   if(!empty($related_logs))
   {
       foreach($related_logs as $val)
       {
           $out .= "<li><a href=\"".Url::log($val['gid'])."\">{$val['title']}</a></li>";
       }
   }
   if(!empty($value['content']))
   {
       if($related_inrss == 'y')
       {
           $abstract .= $out;
       }
   }else{
       echo $out;
   }

?>

打开当前主题的echo_log.php文件,在喜欢的位置,如<?php echo $log_content; ?>下面添加调用代码:
<div>
<b>也许你还会对下面的内容感兴趣:</b>
<ul>
<?php related_logs($logData);?>
</ul>
</div>

然后通过CSS美化样式,以下显示样式供需要的博主作参考:
#art_about{margin:10px 5px; padding: 10px 0; overflow:hidden; padding-bottom:10px;}
#art_about b{margin:0 0px 5px 10px}
#art_about ul{padding:10px;}
#art_about ul li {
line-height:1.5em; 
float:left; 
background:url("images/dot.webp") no-repeat scroll 0px 50% transparent;
padding-left:15px;
margin:5px 15px;
width:350px;
white-sapce:nowrap;
overflow:hidden;
display:inline;
}

以上代码摘自互联网。