今天在群里有人想实现侧边栏最新文章获取图片,自己折腾了一阵子,成功解决了这个问题。为了以后再用得着,所以在这儿保存记录。当然除了调出图片,还可以调用当前分类、摘要等,具体看如下代码:首页在module.php中找到最新文章那段代码,直接用以下代码替换即可:- <?php //widget:最新文章6 ]7 q8 ]/ p" N, U6 p: @( \! L3 ~
- function widget_newlog($title){
0 v* `2 |8 C* D O7 \4 z8 ]* J) | - $index_newlognum = Option::get('index_newlognum');?>4 x( p2 r! i6 J- _ Q5 v6 ~
- <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>
( I) X+ s( ^. G: a9 z - <?php
4 t% }5 G5 G1 k$ O2 p9 M - $db = MySql::getInstance();
& V- H; c. r! K& k4 w4 A - $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 - 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 - $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示
C q/ H8 ?! U - $date = gmdate('Y年m月d日', $row['date']);7 ~. |% ^1 i* f2 g
- $content = strip_TAGs($logpost,'');( p+ J& B2 W. J/ `/ t' e
- $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可1 Q h. g& r0 j5 R2 e- a
- $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 - <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
- <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 - <?php echo $img;?><br />
* L7 P( R$ ]4 Q5 J2 F - <?php echo $content;?>! w( P! O, @! O' A
- <?php };?></div><?php }?>
复制代码 随便附带上热门文章的代码 30天内按点击量排序:- <?php //widget:热门文章* }2 O/ U! V+ |, w u8 @
- function widget_hotlog($title){" p/ w" _% \5 i+ ]8 Y8 L, \5 `
- $index_hotlognum = Option::get('index_hotlognum');?>3 v; C5 d9 e+ m$ a
- <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div>! ^( h/ V" J, |$ S0 v5 o
- <?php $db = MySql::getInstance();$db = MySql::getInstance();
6 a( u9 e+ Y* D$ u" _" o" e, O - $time = time();1 S8 X: E1 g4 \ m
- $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 _
- 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 @
- 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 \ - $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示1 t% G, R# l! c% J' r. O
- $date = gmdate('Y年m月d日', $row['date']);
' {" c; ]% u' {3 m# M5 F9 V - $content = strip_tags($logpost,'');
# V4 w; E; |7 q7 U( v9 m4 Y - $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可
; N0 i" I5 G) t; C3 Y - $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0';
4 k: I8 l# Y( s, N - $gid = $row['gid'];?>, p6 [9 E5 C# ^8 K
- <li><a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a></li>) C- n; Z, E! ]
- <?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
|