phpcms的评论改为留言板研究

研究背景:

phpcms里面默认是没有留言板的,之前我的博客里发过一个二次开发简介,里面有一个简单的留言板,包含前台提供表单,后台留言审核等功能,但是不提供用户登录等操作。

研究思路:

phpcms里面的评论功能就多了一些,而且后台还有设置是否允许游客评论。但是看源代码发现,评论是只能写在文章页的,也就是show_***.html页,因为文章的字段中有一个allow_comment,加上评论会存储文章id,所以这一点比较难改。

刚开始想着使用友言代替,友言的评论是直接和评论页的url绑在一起,所以也就不管你是文章还是单页面都可以调用,但是友言的用户管理有些欠缺,而且毕竟是第三方的,评论内容和用户也不容易拿到本地。

后来考虑的多说,多说在开发者方面支持的算比较好的,提供很多接口,和友言相比优势是可以自己研究用户和评论同步到本地,但它的评论缺也是和文章绑定的,而我只是想要一个类似留言板,可以登录用户的东西。所以暂时先放下。

研究结果:

结果有些坑,既然改源码难改,就按规矩来,把本应该放留言板的单页面当成改成一个内部栏目里面的一篇文章!这样就简单了,剩下的唯一的问题就是点击那个栏目直接跳到那篇文章了!

因为留言板栏目是有category页,list页和show页的,而前面已经说过评论是只能写在show页,访问内部栏目一般直接是跳到list页的,所以新建一个list,里面放入如下写死的代码:

<script>
    window.location.href="index.php?m=content&c=index&a=show&catid=11&id=22";
</script>

也就是直接跳到那篇名叫留言板的文章了!

 

下面贴一下评论的代码:

{if $allow_comment && module_exists('comment')}
      <iframe src="{APP_PATH}index.php?m=comment&c=index&a=init&commentid=bbs&iframe=1" width="100%" height="100%" id="comment_iframe" frameborder="0" scrolling="no"></iframe>
      <div class="box">
                <h5>评论排行</h5>
                 {pc:comment action="bang" siteid="$siteid" cache="3600"}
                <ul class="content list blue f14 row-2">
                {loop $data $r}
                    <li>·<a href="{$r[url]}" target="_blank">{str_cut($r[title], 40)}</a><span>({$r[total]})</span></li>
                    {/loop}
                </ul>
                {/pc}
        </div>
{/if}

其中那个评论排行可以那个box可以删掉,然后改一下评论的前台模板把支持反对的radio去掉,就更像一个留言板了!

 

posted @ 2014-10-28 09:38  savokiss  阅读(694)  评论(0编辑  收藏  举报