下面的代码可以实现Emlog CMS调用相关文章,文章来源于个人博客吧(boke8.net)。代码已经成功安装到深山的鹿博客,先看一下效果:

相关文章调用.jpg

第一步:在当前主题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'; //显示文章数
	    $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>:

<div id="art_about">
	<b>也许您还会对下面的内容感兴趣:</b>
	<ul class="art_col">
		<?php related_logs($logData);?>
	</ul>
</div>


第三步:通过CSS美化样式,下面是深山的鹿博客设计的显示样式,供您参考:

#art_about{margin:10px 5px; padding: 10px 0; overflow:hidden; padding-bottom:10px;font-size:12px;}
#art_about ul{padding:10px;}
#art_about ul li {
	line-height:1.5em; 
	float:left; 
	background:0px 50% transparent;
	margin:5px 15px;
	width:250px;
	white-sapce:nowrap;
	overflow:hidden;
	display:inline;
}