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