淘先锋技术网

首页 1 2 3 4 5 6 7

zblogphp模板中经常会遇到调用指定文章标题、图片、摘要等,比如幻灯片轮播就是调用指定文章内的第一张图片,而导读、小编推荐等则多需要调用标题、摘要等。

zblogphp精彩导读调用文章id.png

分享出来刚发布的zblogphp主题精彩导读文章的调用:

新建了一个post-dd.php为模板:

<?php echo '404';die();?>
<div class="chosen">
 <div class="com-title"><span><img src="{$host}zb_users/theme/{$theme}/style/images/symbol-4.png" alt="" />精选导读</span>
 </div>
 {php}$array = explode(',',$zbp->Config('ydlinux')->ydlinux_ddid);{/php} {foreach $array as $key=>$id} {$post=GetPost((int)$id);} {if $zbp->CheckPlugin('IMAGE')}{php}IMAGE::getPics($post,130,85,4){/php}{/if} {if $zbp->CheckPlugin('sf_img1')}{php}SF_img1::getPics($post,130,85,4){/php}{/if} {php}$postintro = trim(SubStrUTF8(TransferHTML($post->Intro,'[nohtml]'),38)).'...';{/php} {$i = $key+1}
 <div class="chosenbox {if $i==2||$i==4||$i==6}chosenbox-ml{/if}">
  <div class="chosenimg"><a href="{$post.Url}" title="{$post.Title}" target="_blank"><img src="{if $zbp->CheckPlugin('IMAGE') && $post->IMAGE_COUNT>0}{$post.IMAGE[0]}{elseif $zbp->CheckPlugin('sf_img1') && $post->sf_img_count>0}{$post.sf_img[0]}{else}{ydlinux_thumbnail($post)}{/if}" alt="{$post.Title}" width="130" height="85" /></a>
  </div>
  <h3><a href="{$post.Url}" title="{$post.Title}" target="_blank">{$post.Title}</a></h3>
  <p>{$postintro}</p>
  <p><span></span>
  </p>
 </div>
 {/foreach}
 <div class="floatfix"></div>
</div>

说明:

1、$zbp->Config('ydlinux')->ydlinux_ddid为主题配置内可调用的文章ID,多ID用英文小逗号隔开。

2、使用了缩略图插件判断,如果启用了sf_img1或者IMAGE缩略图插件,则调用插件生成的图片,如果没有,则直接调用{ydlinux_thumbnail($post)}。 其中$post就不需要说了,ydlinux_thumbnail($post)需要在include.php中写入:

//原图
function ydlinux_thumbnail($related) {
    global $zbp; 
 $temp=mt_rand(1,10);
 $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;
}

注:ydlinux为主题应用ID,需要修改为自己的模板ID。