在之前分享过两文,分别是获取某个页面的单篇文章标题内容等,以及通过设置文章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>