zblogphp首页如何不显示指定分类的文章方法之一(应一网友提问)

前几天网上一哥们提问题: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>';
    }
}

这就可以判断出来了。在后台自由控制了。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。


客服