博客美化

ZBlog置顶文章只在首页、分类页和分类标签页显示的方法

0
时间:2016-2-9 18:14:27  作者:免费建站爱好者  来源:转载  查看:47  评论:0

在zblog中将某篇文章设为置顶文章后,它将会在首页、分类页等页面都置顶。而这就使这些页面增加了重复内容,搜索引擎不喜欢重复内容,所以这样不利于SEO。从用户体验的角度看,置顶文章在不相关的分类中显示也是没有意义的。那么如何才能只在首页、文章所在分类页和文章所在分类标签页显示置顶文章呢?

网上的常用修改方法

用过zblog的应该都在网上看到过此类修改方法,但似乎都不能完全达到我们的要求,至少笔者没有找到完美的。先给出网上经常见到的修改方法:

1.在网站根目录下找到\FUNCTION\c_system_lib.asp文件,然后用记事本或其他编辑工具打开,为确保安全,先备份此文件。

2.在打开的文件中查找“ontop”,找到第三次出现“ontop”的地方。

3.从这个“ontop”所在行开始往下找到“aryArticleList(i)=objArticle.Template_Article_Multi”第一次出现的地方。

4.将“aryArticleList(i)=objArticle.Template_Article_Multi”替换为以下代码:

ASP/Visual Basic代码

objArticle.LoadInfobyID(objArticle.ID)

If objArticle.CateID=intCateId Then

aryArticleList(i)=objArticle.Template_Article_Multi

Else

aryArticleList(i)=""

End If

5.保存文件。

6.如果没有出现想要的效果,进行索引重建、文件重建。

按照以上方法修改以后,笔者发现,置顶文章确实只在首页和文章所在分类页显示了,但是又有问题出现了,点击置顶文章的某个标签后,分类标签页中并没有显示该置顶文章,也就是说在分类标签页中不管是置顶位置还是文章列表中都找不到此文章了,所以上面的修改方法并不完美。

完美修改方法

大家知道,笔者对C/C++、java、VB等还是都曾经研究过的,但ASP确实没碰过,只能根据自己的读代码和调试代码的经验来一点点修改和试验,最终找到完美的解决办法。下面就具体说明修改方法。

 

上面修改步骤中的1、2、3、5、6保持不变,只是在最关键的第4步,修改替换代码。将“aryArticleList(i)=objArticle.Template_Article_Multi”替换为以下的代码:

ASP/Visual Basic代码

If objArticle.CateID=intCateId Then

aryArticleList(i)=objArticle.Template_Article_Multi

Else

aryArticleList(i)=""

If Not IsEmpty(strTagsName) Then

On Error Resume Next

Dim aryArticleTaggsName, ArticleTag_i, strSingleTagName

If Not IsEmpty(objArticle.TagToName) Then

aryArticleTaggsName = split(objArticle.TagToName, ",")

For ArticleTag_i = 0 To UBound(aryArticleTaggsName)

strSingleTagName = aryArticleTaggsName(ArticleTag_i)

If UCase(strTagsName)=UCase(strSingleTagName) Then

aryArticleList(i) =objArticle.Template_Article_Multi

End If

Next‘ArticleTag_i

Err.Clear

End If

End If

End If

按此代码修改完成后,大家就可以实现只在首页、文章所在分类页和文章所在分类标签页显示置顶文章了。

如果大家在修改以后发现还有Bug,可以回来留言,我会尽量修正。



相关评论
评论者:      验证码:  点击获取验证码
本类推荐
        区间站线报交换网,加QQ群免费看线报
    ①线报付费群440190499②京东券交换群681633372 
       一次联系终身朋友即时回复:一次联系,终身朋友)
                 
    苏ICP备10228228号-1