Drupal 7 使用畅言第三方社会化评论系统

主题:
作者:anxin
日期:2018-10-19
分享:

如果你想在 Drupal 7 网站中使用第三方社会化评论系统,我们推荐你使用畅言,它是由搜狐推出的评论系统。

畅言没有专门的 Drupal 插件,其实要想在 Drupal 7 中使用畅言其实很简单。只要把畅言代码复制到 node.tpl.php 文件中,评论代码是针对节点的,这样还可以使用 node 的变量来唯一的加载畅言评论,而不产生错乱。

Drupal 7 网站添加畅言评论系统

1)删除 Drupal 7 网站中 node.tpl.php 文件内的本地评论代码:

<?php print render($content['comments']); ?>

2)在本地评论代码添加如下畅言代码:

<!--高速版,加载速度快,使用前需测试页面的兼容性-->
<div id="SOHUCS"></div>
<script>
  (function(){
    var appid = 'cyrBf7T0',
    conf = 'prod_9d2417d093ac918e0a6a40ae4c82aa';
    var doc = document,
    s = doc.createElement('script'),
    h = doc.getElementsByTagName('head')[0] || doc.head || doc.documentElement;
    s.type = 'text/javascript';
    s.charset = 'utf-8';
    s.src =  'http://assets.changyan.sohu.com/upload/changyan.js?conf='+ conf +'&appid=' + appid;
    h.insertBefore(s,h.firstChild);
    window.SCS_NO_IFRAME = true;
  })()
</script>     

3)简单的添加畅言代码后,在首页也会显示畅言的评论框,所以需要对代码稍作修改,使畅言只在文章页面显示。

在修改后的代码中,使用了畅言评论的 sid 属性。畅言提供 sid 属性的原因是:畅言默认通过文章 url 进行评论框匹配,你可能会遇到以下两种问题:

  • 同一文章显示不同评论框:同一篇文章有多个URL地址,但每个页面显示不同的评论框。
  • 评论错乱:文章链接发生变动导致评论错乱。

为避免以上问题发生,采用配置 sourceId 的方法:

配置 sourceId 来实现,其中 sourceId 为网站文章本身的唯一 id,需要接入的网站提供,代码形式如下:

<div id="SOHUCS" sid="sourceId"></div> /* 接入网站自行指定sourceId,不同文章不一致即可 */
    <script>
        (function(){
            function部分为通用代码,略去,具体请在获取到的代码中查看
        })()
    </script>

Drupal 7 网站中修改后的畅言代码为,我们把 sid 设置为当前节点的 nid:

<?php if($teaser == false) print "
    <!--高速版,加载速度快,使用前需测试页面的兼容性-->
    <div id='SOHUCS'" . " sid=" . $nid . "></div>
    <script>
        (function(){
            var appid = 'cyrBf7T0',
            conf = 'prod_9d2417d093ac918e0a6aa79e4c82aa';
            var doc = document,
            s = doc.createElement('script'),
            h = doc.getElementsByTagName('head')[0] || doc.head || doc.documentElement;
            s.type = 'text/javascript';
            s.charset = 'utf-8';
            s.src =  'http://assets.changyan.sohu.com/upload/changyan.js?conf='+ conf +'&appid=' + appid;
            h.insertBefore(s,h.firstChild);
            window.SCS_NO_IFRAME = true;
          })()
    </script>";
?>

通过如上配置 Drupal 7 中就能够使用畅言第三方评论系统啦。

标签:
本文链接:https://www.yuzhi100.com/article/drupal-7-shiyong-changyan

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!

作者:anxin