首页 zblog内容详情

zblog模板制作 - 缩略图调用方法大全

2026-01-08 4 897698882
zblog模板制作 - 缩略图调用方法大全

站点名称:zblog模板制作 - 缩略图调用方法大全

所属分类:zblog

官方网址:

SEO查询: 爱站网 站长工具

进入网站

站点介绍

zblog模板制作最不可缺少的我想应该就是缩略图,其次是摘要了,现在的zblog用户应该很少纯文字的文章,搭配一些图片更合理,这时候最好加上缩略图功能,让整个网站看起来更饱满,对于色彩和展示都有很大好处。所以老白制作的模板,基本都带有缩略图功能,而其中用到的缩略图又分为几种:

1、直接调取文章内第一张图片原图,用CSS对图片进行限制缩略,当无图的时候调取一张随机图片显示

2、调取第一张原图并且配合缩略图插件进行剪裁成合适的尺寸显示,当无图的时候随机调取一张备用图片

3、单独上传一个图片作为文章缩略图:(文章、标签、分类编辑中加入单独缩略图上传功能(字段)

一、调取文章内第一张原图方法:

官方版:

随机获得文章中的四张图片中的一张适用于多图站点,在模板文件中使用:

{php}$temp=mt_rand(1,4);$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";$content = $article->Content;preg_match_all($pattern,$content,$matchContent);if(isset($matchContent[1][0])) $temp=$matchContent[1][0];else$temp=$zbp->host."zb_users/theme/$theme/style/images/random/$temp.jpg";//需要在相应位置放置4张jpg的文件,名称为1,2,3,4{/php} <img src="{$temp}" />

效率版:

效率版在zblog CMS模板中使用较多,避免每次调用都写一遍上方的全部代码:

function ydjijian_thumbnail($related) {    global $zbp;  $temp=mt_rand(1,4); $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; $content = $related->Content;  preg_match_all($pattern,$content,$matchContent); if(isset($matchContent[1][0])){  $thumb=$matchContent[1][0];  }else{    $thumb=$zbp->host . "zb_users/theme/" .$zbp->theme. "/include/random/" .$temp. ".jpg"; }    return $thumb;}

调用方法:{ydjijian_thumbnail($article)} ,ydjijian就是主题ID了

二、调取第一张图,并对图片进行剪裁,而非CSS缩放,无图随机调用一张:

非插件版剪裁缩略图片版:

//缩略图function 主题ID_thumbnail($id,$sltww, $slthh,$link) { global $zbp,$article; $article=GetPost((int)$id); $random = mt_rand(1, 10);         preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?\/>/sim', $article->Content, $strResult, PREG_PATTERN_ORDER);         $n = count($strResult[1]);   $zdsuoluetu=$article->Metas->Blogs_suoluetu;   if(empty($zdsuoluetu)){    if($n > 0){     $sltu=$strResult[1][0];    } else {      $sltu="{$zbp->host}zb_users/theme/{$zbp->theme}/image/random/{$random}.jpg";          }   }else{    $sltu=$zdsuoluetu;   }   $sltu="<img src=\"{$zbp->host}zb_users/theme/{$zbp->theme}/template/timthumb.php?src={$sltu}&w={$sltww}&h={$slthh}&zc=1\" alt=\"{$article->Title}\" />";   if($link==1){    $sltu="<a href=\"{$article->Url}\"  title=\"{$article->Title}\">{$sltu}</a>";   }   return $sltu;}

其中,timthumb.php下载:

timthumb.zip

这种剪裁方法比较消耗服务器资源,在服务器端也没有缓存,如果是小型站点,可以使用,大站的话建议其它方法生成静态图片进行调用,节省资源。

 

支持插件剪裁缩略图版:

注意,必须安装和开启IMAGE缩略图插件才可以:

function ydproduct_suoluetu($art,$width,$height) {    $suo =''; global $zbp; $noimg=mt_rand(1,4); IMAGE::getPics($art,$width,$height,4);    if ($art->IMAGE_COUNT>0){                $suo=$art->IMAGE[0];                }else{                $suo=$zbp->host . "zb_users/theme/" .$zbp->theme. "/include/random/" .$noimg. ".jpg";                } return $suo;}

调用方法:{ydyuandaima_suoluetu($article,110,110)}