«

Emlog隐藏指定分类文章的几个不同表达方式

时间:2015-8-2 15:17     作者:admin     分类: emlog


第一种方式:隐藏指定分类文章(ps:代码正常显示),以下代码均用默认模板测试,模板文件log_list.php中找到


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
if (!empty($logs)):
foreach($logs as $value):
?>
在此段代码后加入
<div <?php if($value['sortid']==1){echo 'style="display:none"';}?>>
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">在下面代码前加入
</div>
<?php
endforeach;
else:
?>
代码==1中的1为分类id,本代码来源于em论坛hackhp之手,不足之处就是查看源代码时是显示的。


第二种方式:隐藏指定分类文章同时代码也隐藏
在模板文件log_list.php中找到下面代码


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
if (!empty($logs)):
foreach($logs as $value):
?>
替换为



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
if (!empty($logs)):
foreach($logs as $value): if ($value['sortid']==1) continue;
?>

代码==1中的1为分类id,如需实现多个分类隐藏,请使用下面代码



<pre style="overflow:auto" ;class="prettyprint lang-php linenums">if(in_array($value['sortid'],array(1,2,3,4))){continue;}
把其中的分类id更改一下就可以了,本代码在5.3.1版本下测试正常,如果你的log_list.php未分离出首页模板,请勿使用此方法,否则对应分类里的文章也将被隐藏。


以上方法修改以后确实可以屏蔽指定的栏目文章在首页显示,但是首页文章数量会减少,被屏蔽的栏目的文章条目数在首页还是会被记录导致首页总少几篇文章而且和发布的被屏蔽的栏目文章数是对应的。下面介绍修改内核且不会减少数量的方法
具体修改的文件如下(此处以 EMLOG 5.3.1 为例 要屏蔽的文章分类 ID 为 8)
查找 Emlog 根目录include/controller/log_controller.php


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">找到第 1 处 $sqlSegment ='ORDER BY top DESC ,date DESC';
添加and sortid != 8 将其修改为$sqlSegment ='and sortid != 8 ORDER BY top DESC ,date DESC';
如需屏蔽多个分类 继续添加and sortid != *即可

另外附带提一下禁止访问某个分类文章代码,代码来源于em论坛hackhp之手,以下代码放入模板header.php最顶端即可



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if($sortid==1){exit("禁止访问");}?>
题外话:其实很多的教程em论坛都可以找到了,只要你肯折腾。本站的emlog教程中也总结了一部分,有兴趣的话可以参考一下。


标签: emlog

版权所有:Mrxn's Blog
文章标题:Emlog隐藏指定分类文章的几个不同表达方式
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读: