Emlog教程 - 侧边栏最新文章获取图片、分类、摘要等-站长杂谈下载

Emlog教程 - 侧边栏最新文章获取图片、分类、摘要等

开通本站Svip会员,全站资源免费下
今天在群里有人想实现侧边栏最新文章获取图片,自己折腾了一阵子,成功解决了这个问题。为了以后再用得着,所以在这儿保存记录。当然除了调出图片,还可以调用当前分类、摘要等,具体看如下代码:首页在module.php中找到最新文章那段代码,直接用以下代码替换即可:
  1. <?php //widget:最新文章6 ]7 q8 ]/ p" N, U6 p: @( \! L3 ~
  2. function widget_newlog($title){
    0 v* `2 |8 C* D  O7 \4 z8 ]* J) |
  3. $index_newlognum = Option::get('index_newlognum');?>4 x( p2 r! i6 J- _  Q5 v6 ~
  4. <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>
    ( I) X+ s( ^. G: a9 z
  5. <?php
    4 t% }5 G5 G1 k$ O2 p9 M
  6. $db = MySql::getInstance();
    & V- H; c. r! K& k4 w4 A
  7. $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog inner join ".DB_PREFIX."sort WHERE hide='n' AND type='blog' AND top='n' AND sortid=sid order by date DESC limit 0,$index_newlognum"); while($row = $db->fetch_array($sql)){ $logpost = !empty($row['excerpt']) ? $row['excerpt'] : ''.$row['content'].''; if (!empty($row['excerpt'])){preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $row['excerpt'], $match); if(empty($match[1][0])) {
    ! w. j) Q9 `4 B6 i% k. p+ Z! m
  8. preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $row['content'],$match);}
    6 f) l) _* n3 G7 r# a
  9. $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示
      C  q/ H8 ?! U
  10. $date = gmdate('Y年m月d日', $row['date']);7 ~. |% ^1 i* f2 g
  11. $content = strip_TAGs($logpost,'');( p+ J& B2 W. J/ `/ t' e
  12. $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可1 Q  h. g& r0 j5 R2 e- a
  13. $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0'; $gid = $row['gid']; $tag = $db -> query("SELECT * FROM ".DB_PREFIX."tag WHERE gid LIKE '%,$gid,%'");?>
    # Q% {* z9 D& H4 D/ Y
  14. <a href="<?php echo Url::sort($row['sid']);?>" title="<?php echo $row['sortname'];?>" /><?php echo $row['sortname'];?></a><br />+ l/ j: n% U/ E" E
  15. <a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a><br />
    / G6 P2 Z6 ~  ]; p$ `  _9 [+ Q
  16. <?php echo $img;?><br />
    * L7 P( R$ ]4 Q5 J2 F
  17. <?php echo $content;?>! w( P! O, @! O' A
  18. <?php };?></div><?php }?>
复制代码

随便附带上热门文章的代码 30天内按点击量排序:
  1. <?php //widget:热门文章* }2 O/ U! V+ |, w  u8 @
  2. function widget_hotlog($title){" p/ w" _% \5 i+ ]8 Y8 L, \5 `
  3. $index_hotlognum = Option::get('index_hotlognum');?>3 v; C5 d9 e+ m$ a
  4. <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>! ^( h/ V" J, |$ S0 v5 o
  5. <?php $db = MySql::getInstance();$db = MySql::getInstance();
    6 a( u9 e+ Y* D$ u" _" o" e, O
  6. $time = time();1 S8 X: E1 g4 \  m
  7. $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog inner join ".DB_PREFIX."sort WHERE hide='n' AND type='blog' AND date > $time - 30*24*60*60 AND top='n' AND sortid=sid order by `views` DESC limit 0,$index_hotlognum");% Y* u$ T! ?: I, t; z9 _
  8. while($row = $db->fetch_array($sql)){ $logpost = !empty($row['excerpt']) ? $row['excerpt'] :''.$row['content'].''; if (!empty($row['excerpt'])){preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i",$row['excerpt'],$match);if(empty($match[1][0])){8 u9 R0 z& r  m7 V" c1 @
  9. preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $row['content'],$match);}
    " n; z+ K! g9 N2 J$ N- q0 \
  10. $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示1 t% G, R# l! c% J' r. O
  11. $date = gmdate('Y年m月d日', $row['date']);
    ' {" c; ]% u' {3 m# M5 F9 V
  12. $content = strip_tags($logpost,'');
    # V4 w; E; |7 q7 U( v9 m4 Y
  13. $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可
    ; N0 i" I5 G) t; C3 Y
  14. $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0';
    4 k: I8 l# Y( s, N
  15. $gid = $row['gid'];?>, p6 [9 E5 C# ^8 K
  16. <li><a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a></li>) C- n; Z, E! ]
  17. <?php };?></div><?php }?>
复制代码

代码说明:(CSS本人就不折腾了,自己捣鼓吧,如果你这个也不会的话,就不要折腾了)
" q6 ]5 `) W, e5 L所属分类链接:<?php echo Url::sort($row['sid']);?>
* F6 q1 ?' ^  B; X5 C2 F1 U8 b所属分类标题:<?php echo $row['sortname'];?>2 e6 i8 ^2 g6 I. Q5 V* u/ r+ ^
文章链接:<?php echo Url::log($row['gid']);?>0 |+ f% d8 h: @' k7 a% k
文章标题:<?php echo $row['title'];?>3 O; K& e- a& U) J# ~
当前第一张图片:<?php echo $img;?> 9 {: N: X' U4 l: A2 ~1 |* _
当前文章摘要:<?php echo $content;?>
3 }8 G# t  W9 a) X; v- Q当前评论:<?php echo $row['comnum'];?>  c: w. I* b: n! d6 Y0 t
当前浏览量:<?php echo $row['views'];?>
+ {3 P, w6 C8 g+ Y) J. O0 U# h当前时间:<?php echo gmdate('Y年m月d日', $row['date']);?>+ o: k" p; y# T3 T- p
本栏目标题(侧边栏):<?php echo $title;?>0 X6 P- S- E$ A9 M- I! h

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部