Emlog非插件实现文章添加相关文章的方法
0 ]3 H9 y. _ U. W4 B4 Q第一步:在模板文件module.php中加入以下代码- <?php
- F- Q" t4 o% U* J) C - //文章详情页下相关文章
8 f; @2 j+ w" G5 P - function xg_logs($logData = array()){
0 b) \( L$ q7 l2 i. M& ?* N - if (is_file($configfile)) {require $configfile;}else{6 u. ? c0 @7 a# G8 H0 p" C
- $related_log_type = 'sort';//相关日志类型,sort为分类,tag为标签;; f* q* R5 p' }+ R0 N) `
- $related_log_sort = 'views_desc';//排列方式,views_desc 为点击数(降序)comnum_desc 为评论数(降序) rand 为随机 views_asc 为点击数(升序)comnum_asc 为评论数(升序)- R* c0 @$ ]- E; @5 ^7 R
- $related_log_num = '10'; //显示文章数
! x# U: p4 t U, |5 N - $related_inrss = 'y'; //是否显示在rss订阅中,y为是,其它值为否
' ?" K. a! D1 U5 A& p - }global $value;$DB = MySql::getInstance();$CACHE = Cache::getInstance();extract($logData);if($value)
0 ~9 \# o9 ?' l& ?5 m+ ? w6 F - {$logid = $value['id'];$sortid = $value['sortid'];global $abstract;}
8 Y+ O9 ~* z3 V' p - $sql = "SELECT gid,title FROM ".DB_PREFIX."blog WHERE hide='n' AND type='blog'";# G2 I1 G. j" I$ I" k
- 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']);}
5 `+ D7 R; y# h0 c2 M/ n - $sql .= " AND gid!=$logid AND gid IN ($related_log_id_str)";}else{
; ]$ W) c2 B5 Z, x - $sql .= " AND gid!=$logid AND sortid=$sortid";}$ w1 {+ Y1 b4 G7 Q/ t
- switch ($related_log_sort){case 'views_desc':{; N. b& z0 C" f2 D4 M8 m2 Z! T
- $sql .= " ORDER BY views DESC";break;}case 'views_asc':{
' `+ W* b: l8 [% t+ s1 ~ - $sql .= " ORDER BY views ASC";break;}case 'comnum_desc':{
! P5 q1 s% c( C' {! q3 p# Q - $sql .= " ORDER BY comnum DESC";break;}case 'comnum_asc':{5 y3 Y. n6 l, E# @+ G
- $sql .= " ORDER BY comnum ASC";break;}case 'rand':{- @# I: P t. L# f6 p
- $sql .= " ORDER BY rand()";break;}}6 w& g( p. f. |* I# K2 I7 R3 _0 {: G: B
- $sql .= " LIMIT 0,$related_log_num";$ K2 r/ [4 F3 O+ l E
- $related_logs = array();$query = $DB->query($sql);while($row = $DB->fetch_array($query))5 }, @# V: e9 }- |7 U6 E- q
- {$row['gid'] = intval($row['gid']);$row['title'] = htmlspecialchars($row['title']);$related_logs[] = $row;}. N m8 @+ ~4 k N8 T* c1 y
- $out = '';if(!empty($related_logs)){foreach($related_logs as $val){
2 i% G; v2 k9 W7 G) g - $out .= "<li><a href="".Url::log($val['gid'])."" title="{$val['title']}">{$val['title']}</a></li>";
' k, Q5 @: L' [$ n. {2 A5 D1 l7 O - }}if(!empty($value['content'])){if($related_inrss == 'y'){$abstract .= $out;}}else{echo $out;}}" G/ j5 ?& f/ ?7 R; c
- ?>
复制代码 第二步:在模板文件echo_log.php的适合位置放入<?php xg_logs($logData);?>,最后写上CSS格式就ok了 |