-->

2013年1月25日星期五

自定义评论系统之整合多说评论

我们需要从多说获取两类数据,一类是评论和评论框需要被用来显示在单文章页面上,一类是评论数显示在首页文章列表内。

多说提供的通用代码如下:

<!-- Duoshuo Comment BEGIN -->
    <div class="ds-thread"></div>
    <script type="text/javascript">
    var duoshuoQuery = {short_name:"你的多说二级域名"};
    (function() {
        var ds = document.createElement('script');
        ds.type = 'text/javascript';ds.async = true;
        ds.src = 'http://static.duoshuo.com/embed.js';
        ds.charset = 'UTF-8';
        (document.getElementsByTagName('head')[0] 
        || document.getElementsByTagName('body')[0]).appendChild(ds);
    })();
    </script>
<!-- Duoshuo Comment END --> 

详细区分一下,<div class="ds-thread"></div>才是评论和评论框,下面大段的javascript代码是获取评论用的。

代码稍微改一下,根据前面文章已经定位了的原始系统的评论框处填入
<div class='ds-thread' expr:data-thread-key='data:post.id' expr:data-title='data:post.title'>评论:</div>
将剩余的javascript代码原样不变放到代码最末尾,但是要在</body>代码之前。

另外是获取评论数,多说的开发文档写到,评论数获取可以使用
<span class="ds-thread-count" data-thread-key="文章id或其他唯一标识"></span>
代码改一下:
<a class='ds-thread-count' expr:data-thread-key='data:post.id' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'/>
将改后的这段代码放到之前定位的系统原来的评论数的地方。

改代码的目的是我们这里需要获取文章id和文章标题以区分不同页面的评论框,并且评论数是个指向评论框的链接。

效果见本博 :) 。后面要做的事只是删除Blogger模板中原来的评论的代码就好了,不再写文专门说删除了。有问题留言哦!