前几天网上一哥们提问题: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文件里添加相应的参数了,如:
<tr> <td><label for="nocate"><p align="center">在首页不显示某一分类</p></label></td> <td><p align="left"><select name='nocate'> <option><?php echo $zbp->Config('simpage')->nocate;?></option> <?php echo simpageCategory_gg();?> </select> 当前被选择的分类为:<?php echo $zbp->Config('simpage')->nocate;?></p></td> <td><p align="center"><p align="center"></p></p></td> <td><p align="left">请选择不想显示的分类,只能选一个哦。呵呵</p></td> </tr>
其中函数simpageCategory_gg(),如下:
function simpageCategory_gg() { global $zbp; $Catenews = $zbp->GetCategoryList(array( '*' ), null); foreach ($Catenews as $Catenew) { echo '<option value="' . $Catenew->Name . '">' . $Catenew->Name . '</option>'; } }
这就可以判断出来了。在后台自由控制了。。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。