前几天网上一哥们提问题:zblogphp首页如何不显示指定分类的文章,由于最近比较忙,所以没有时间来写这个,今晚终于有点时间,写下。实际上我的一个主题simpage这个就有这个功能,朋友大可去看下这个源码,其实就一个判断语句。。
切入正题:
1.分析:要在首页不显示,就是判断下这个文章的分类,可以这样分析吧。代码如下:{if $article.Category.Name=='分类的名称'}
{elseif $article.IsTop}
{template:post-istop}
{else}
{template:post-multi}
{/if}
就是这这个判断,就可以简单实现了,如果是这个分类,就显示空就可以了,上面的判断是用文章的分类的名称来的,也可以用ID来,也就是$article.Category.ID
2.找到该模板的主页的模板文件,一般为index.php,替换类似如上代码的代码,然后保存,编译,然后就可以用了。
3.这里有个问题,就是文章的判断条件要在模板里改。如果你嫌麻烦,你可以这么操作,在后台添加参数,来实现后台控制,那么前台模板的代码就要改为如下代码:{if $article.Category.Name==$zbp->Config('simpage')->nocate}
{elseif $article.IsTop}
{template:post-istop}
{else}
{template:post-multi}
{/if}
其中$zbp->Config('simpage')->nocate就要你在后台,一般为main.php文件里添加相应的参数了,如:
在首页不显示某一分类
<?php echo $zbp->Config('simpage')->nocate;?>
当前被选择的分类为:<?php echo $zbp->Config('simpage')->nocate;?>
请选择不想显示的分类,只能选一个哦。呵呵
其中函数simpageCategory_gg(),如下:function simpageCategory_gg()
{
global $zbp;
$Catenews = $zbp->GetCategoryList(array(
'*'
), null);
foreach ($Catenews as $Catenew) {
echo 'Name . '">' . $Catenew->Name . '';
}
}
这就可以判断出来了。在后台自由控制了。。