设置Emlog首页显示为指定分类文章的教程

网站教程 Qwluoye 12117℃ 0评论

【原创·版权所有】

有一个bug还未解决:完成所有以后,如果模板有页码选择的话,最后的页码会没有文章(空页),如果有大神会,可以说一下的。在此先谢谢了。

一、隐藏首页中指定分类的文章

找到所使用模板的 log_list.php文件,找到以下代码:

<?php 
if (!empty($logs)):
foreach($logs as $value): 
?>

替换为一下代码:

<?php 
if (!empty($logs)):
foreach($logs as $value): if ($value[’sortid’]==1) continue;
?>
其中, if ($value[’sortid’]==1) continue;“1”为所隐藏的分类。

(如果后台SEO中设置了文章链接别名,需要先设置默认形式,进入前台页面,即可看到分类的序号


如果需要隐藏多个分类,则使用以下代码:

if(in_array($value[’sortid’],array(1,2,3,4))){continue;} 

二、修改以上设置后出现的bug

1.修改以上设置后,会发现首页显示的文章数会减少,比如默认每页显示10篇文章,现在第一页中如果有隐藏分类的7篇文章,那么第一页会仅显示3篇。严重影响网站首页的排版。

修复方法:

修改代码到Emlog根目录 include/controller/log_controller.php 中,找到以下代码:

$sqlSegment =’ORDER BY top DESC ,date DESC’; 修改为:

$sqlSegment =’and sortid != 1 ORDER BY top DESC ,date DESC’; 

如果有多个目录,则仿照以下代码:

$sqlSegment =’and sortid != 1 and sortid != 2 and sortid != 2 ORDER BY top DESC ,date DESC’;  

PS:其中修复代码为 and sortid != 1 (前后加空格,修复更多分类则依次添加多个此代码。)

2.修复单独访问隐藏分类不显示文章的bug

修复方法:

只需要把没修改之前的log_list.php复制一份并重命名,并在后台相应的分类下调用它既可。

如果多个分类,就多复制几份,改成后台设置的模板名称,并在后台相应的分类下调用它既可。

PS:此操作无需修改代码。




Qwluoye原创·版权所有】第三方盗取内容应付法律责任!!


喜欢 (4)

文章评论已关闭!