故事博客

故事博客
一个崭新的开始

DEDECMS评论回复生成静态到html而非使用js调用的方法插件

DEDECMS应该是目前国内使用最为广泛的一个CMS系统了,故事有很多站点也都是使用CMS搭建的,虽然DEDECMS对于大量数据的负载能力和生成速度比不上帝国,但是对于非大型站点来说,DEDECMS应该是一个不错的选择,因为他的后台更为简洁一些,新手也可以很快的掌握.

dedecms评论静态化.jpg

故事在使用和优化DEDECMS的过程中,发现DEDECMS在文章页面调用评论的时候默认使用的js得到调用方法,可能开发者是为了在DEDE文章生成静态HTML文件的时候也可以很实时的调用到最新的评论回复而采取了这样的方法吧.

但是,对于JS调用方式获取的评论内容是不会出现在网站的html源代码中的,而像谷歌和百度这样的搜索蜘蛛是不会抓取到其中的内容的.这样的话,对于网站SEO优化来讲是很不利的,因为有时候我们的文章本身就有很多是网上直接复制来的或者只进行了部分的修改伪原创的设置,这种情况下评论内容常常可以为我们的文章页面提高更大的原创性.所以对DEDECMS的评论回复进行生成静态是十分必要的.

DEDECMS评论生成静态的方法

如果熟悉php mysql和dede的调用机制的话,那么直接调用数据库就可以很简单的实现DEDECMS评论生成静态了.

DDEDECMS评论生成静态的方法之一:

{dede:sql sql="SELECT aid,msg,id FROM dede_feedback  a where ischeck=1 and aid=~id~ ORDER BY aid DESC LIMIT 0 , 30"}[field:msg/]{/dede:sql}

在你的DEDECMS文章模板调用评论的位置插入上述代码,删除掉缘来加载js内容DIV,然后生成一下文章,查看原文件,你就会发现评论已经生成静态了.

DDEDECMS评论生成静态的方法之二:

这个方法涉及到DEDECMS系统文件的修改,所以要求不高的同学或者对PHP并不熟悉的同学建议使用第一只种方法.

首先,找到文件include/taglib/feedback.lib.php并打开

然后在在lib_feedback()加上一句:global $aid;这时候函数就可以获取到文章的id了,

之后再加入一句:if($aid){$wsql .= ” and aid=$aid “;},系统文件的修改就完成了.

最后在模板文件中的调用方法是:

{dede:feedback  aid='50'}
<ul>
<li class='fbtitle'>[field:username function="(@me=='guest' ? ‘游客' : @me)"/] 对[field:title/] 的评论:</li>
<li class='fbmsg'> <a href="plus/feedback.php?aid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>
</ul>
{/dede:feedback}

这样就可以读取文章id为1的评论了.

分享到: 更多()
DEDECMS文章页面调用当前文章分类并添加文本链接的的方法 DEDECMS文章页面调用当前文章分类并添加文本链接的的方法
« 下一篇05-09
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!