zblogphp模板中經常會遇到調用指定文章標題、圖片、摘要等,比如幻燈片輪播就是調用指定文章內的第一張圖片,而導讀、小編推薦等則多需要調用標題、摘要等。
分享出來剛發布的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。