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

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

开通本站Svip会员,全站资源免费下
今天在群里有人想实现侧边栏最新文章获取图片,自己折腾了一阵子,成功解决了这个问题。为了以后再用得着,所以在这儿保存记录。当然除了调出图片,还可以调用当前分类、摘要等,具体看如下代码:首页在module.php中找到最新文章那段代码,直接用以下代码替换即可:
  1. <?php //widget:最新文章0 J* A  |' f% d! q. _& k
  2. function widget_newlog($title){
    ; H- o" [  N# i3 R
  3. $index_newlognum = Option::get('index_newlognum');?>0 Z  k3 f2 P- p
  4. <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>
    7 ?7 G* V- I3 `; g* ^' b
  5. <?php
    5 b2 s' F; M- }3 c; s1 `" J6 |
  6. $db = MySql::getInstance();9 z; H+ |  E8 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])) {
    : O2 E$ G2 M1 F; ^3 w9 C3 ]
  8. preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $row['content'],$match);}
    5 {5 ~9 r# R9 s
  9. $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示
    - b* w' ^+ K* {; W
  10. $date = gmdate('Y年m月d日', $row['date']);
      J. \: X6 s: o/ X1 w; y& `' D0 t
  11. $content = strip_TAGs($logpost,'');, ?( n% Z3 i3 S6 ?
  12. $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可
    1 |4 p4 [* {: ]
  13. $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0'; $gid = $row['gid']; $tag = $db -> query("SELECT * FROM ".DB_PREFIX."tag WHERE gid LIKE '%,$gid,%'");?># C0 Y# d( A$ q' E  b& Y+ ^& V! K
  14. <a href="<?php echo Url::sort($row['sid']);?>" title="<?php echo $row['sortname'];?>" /><?php echo $row['sortname'];?></a><br />! |$ ]& i- |4 G& ~! y1 }/ e* y
  15. <a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a><br />3 T$ d$ g9 ^( i- q
  16. <?php echo $img;?><br />
    4 [  C0 c2 S9 V2 b# V
  17. <?php echo $content;?>/ }; j9 w8 Y" u6 J* m( O- `; q/ d; s
  18. <?php };?></div><?php }?>
复制代码

随便附带上热门文章的代码 30天内按点击量排序:
  1. <?php //widget:热门文章
    8 [; y3 ]/ h" f; A
  2. function widget_hotlog($title){
    / C7 D3 J: \- u6 _: a3 ^
  3. $index_hotlognum = Option::get('index_hotlognum');?>
    3 R. L# D8 |3 ~0 S1 b- i6 v
  4. <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>: z% b5 o# c5 v
  5. <?php $db = MySql::getInstance();$db = MySql::getInstance();
    + _8 i8 |6 M8 l3 P
  6. $time = time();
    - z$ C, x% K9 q. ^. r2 n( z
  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");8 K% o3 Z1 Q# {% Y# ~: T
  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 s. s/ a: A( f( N" u; u8 _$ n& W
  9. preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\="(.*?)"[^>]*>/i", $row['content'],$match);}% p# d0 v/ e! L: X1 N3 N) W& X3 o
  10. $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示* ^  _/ I, [, |2 H8 C1 K
  11. $date = gmdate('Y年m月d日', $row['date']);
    & h& Q2 g* a6 x, o) @
  12. $content = strip_tags($logpost,'');" n  l8 p" y7 ^& y2 L' o5 s6 {# t' d! Z
  13. $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可, G6 |8 U- V* W. \# ~3 x, f$ y
  14. $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0';  z$ H" P7 e/ u- g: X
  15. $gid = $row['gid'];?>
    : I3 \) R$ Q# G0 R% J
  16. <li><a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a></li>
    , K. @8 ]  x4 [! F+ f
  17. <?php };?></div><?php }?>
复制代码

代码说明:(CSS本人就不折腾了,自己捣鼓吧,如果你这个也不会的话,就不要折腾了)2 M# P, R  Q- O- D/ Z% Z
所属分类链接:<?php echo Url::sort($row['sid']);?>3 l- L+ r* h) L) |( [; ?
所属分类标题:<?php echo $row['sortname'];?>
, I5 R" W) m% R5 G6 X/ q7 N& T" o文章链接:<?php echo Url::log($row['gid']);?>
9 }& J* w4 e% {' [& D/ s4 J文章标题:<?php echo $row['title'];?>
1 |; Z  M1 C/ Z) j当前第一张图片:<?php echo $img;?> " a$ N  K0 C% `9 ]4 a- y
当前文章摘要:<?php echo $content;?>
" _* F, J2 M% G9 K1 A; H4 x当前评论:<?php echo $row['comnum'];?>
8 U9 A/ U- Q+ O当前浏览量:<?php echo $row['views'];?>( T4 n; c8 o# c# K' k
当前时间:<?php echo gmdate('Y年m月d日', $row['date']);?>1 h/ d" b) `. L2 }
本栏目标题(侧边栏):<?php echo $title;?>
: S0 x% f* g- Y" o; c! L# D2 ~

全部评论 0

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