在之前分享過兩文,分別是獲取某個頁面的單篇文章標題內容等,以及通過設置文章ID獲取單篇文章信息!
《zblogPHP調取某個頁面的標題、內容等》
《zblogPHP調取(獲取)某篇(單篇)指定文章標題、內容、摘要、圖片等方法》
本文將分享如何調取某一個分類的最新文章:
如上圖,截圖模塊顯示的是子分類1的最新文章,在一些zblog模板的首頁常常會遇到這種調用,但又不能直接在模版中把調取某個分類寫死,需要在后臺主題配置內設置和選擇分類,具體方法分享如下:
獲取方法如下,以yddz主題模板為例:
方法一:
主題配置內加入:
<select size="1" name="homecate1"><?php echo OutputOptionItemsOfCategories($zbp->Config('yddz')->homecate1);?></select>
然后直接在模板中使用$zbp->Config('yddz')->homecate1獲取,模板中調用如何調用可以參考方法三中的代碼!
可以清楚的輸出分類關系,子分類 子子分類等。
這個可以直接使用OutputOptionItemsOfCategories,為什么能用呢?
定義OutputOptionItemsOfCategories 類別的輸出選項函數里的接口
DefinePluginFilter('Filter_Plugin_OutputOptionItemsOfCategories');
方法二:
配置文件內寫入:
選擇分類:<select name="homecateid2" id="homecateid2"> <?php global $zbp; $array=$zbp->GetCategoryList(null,null,array('cate_Order'=>'ASC'),null,null); echo '<option value="1">--請選擇分類--</option>'; foreach ($array as $cate){?> <option value="<?php echo $cate->ID;?>" <?php if($zbp->Config('yddz')->homecateid2 == $cate->ID) echo 'selected';?>><?php echo $cate->Name;?></option> <?php } ?> </select>
以上只是主題配置內獲取所有分類的代碼,需要在模板中調用,請參考方法三中的模板代碼!
方法三:
在include.php中加入:
function yddz_Cate($zdycate){ global $zbp; $Catenews=$zbp->GetCategoryList( array('*'), null); $s = ''; foreach ($Catenews as $Catenew) { if($zdycate==$Catenew->ID){ $s .='<option value="'.$Catenew->ID.'" selected="selected" >'.$Catenew->Name.'</option>'; } else {$s .='<option value="'.$Catenew->ID.'">'.$Catenew->Name.'</option>';} } if($zdycate==""){ $s .='<option value="" selected="selected" >所有文章</option>'; } else{ $s .='<option value="">所有文章</option>'; } return $s; }
在主題配置文件中加入:
<h3>首頁第三欄滾動圖文調用</h3> <div class="lbimport"> <span>選擇調用分類</span> <select name='line3id'><?php echo yddz_Cate($zbp->Config('yddz')->line3id);?></select> <i>可選分類哦,也可以選所有文章</i> </div>
在模板文件中如何調用呢?
<div class="line2"> <div class="catename"> <span></span>{if $zbp->Config('yddz')->line2id}{$categorys[$zbp->Config('yddz')->line2id].Name}{else}最新文章{/if} {if $zbp->Config('yddz')->line2id} <i><a href="{$categorys[$zbp->Config('yddz')->line2id].Url}" class="more">更多</a></i> {/if} </div> {foreach GetList(1,$zbp->Config('yddz')->line2id,null,null,null,null,array('has_subcate'=>'ture')) as $key=>$post}{$i=$key+1} <div class="leftimg"> <div class="img"> <a href="{$post.Url}"><img src="{yddz_thumbnail($post)}" alt="{$post.Title}"></a> </div> <h3><a href="{$post.Url}">{$post.Title}</a></h3> <div class="info"> <span><i class="fa fa-clock-o"></i>{$post.Time('Y-m-d')}</span> <span><i class="fa fa-eye"></i>{$post.ViewNums}</span> <span><i class="fa fa-star-o"></i>{$post.Category.Name}</span> </div> <p>{yddz_intro($post,1,120,'...')}</p> </div> {/foreach} <ul> {foreach GetList(5,$zbp->Config('yddz')->line2id,null,null,null,null,array('has_subcate'=>'ture')) as $key=>$post}{$i=$key+1} {if $i>1} <li> <a href="{$post.Url}"> <img src="{yddz_thumbnail($post)}" alt="{$post.Title}"> <h3><a href="{$post.Url}">{$post.Title}</a></h3> <p>{yddz_intro($post,1,100,'...')}</p> </a> </li> {/if} {/foreach} </ul> </div>