不同的线程为同一页面的每个语言变体

时间:2014-05-01 22:17:28

标签: asp.net-mvc-4 disqus

我希望为同一页面的每种语言变体设置不同的disqus线程。

我在我的网站上有同一篇文章的不同版本,让我们说:

French version  : http://www.example.com/fr/article/38/soe-friendly-title-in-french
English version : http://www.example.com/en/article/38/soe-friendly-title-in-english

相同的文章,不同的语言,不同的网址。

在该页面中,我使用这些参数设置了disqus插件。参数是在服务器端生成的(asp.net mvc 4):

<script type="text/javascript">
    var disqus_config = function () {
        this.language = '@i18n.Resources.Param_Lang'; // "fr" or "en";
    }

    var disqus_identifier = '@disqusIdentifier' //"article_38_fr" or "article_38_en"
    var disqus_title = '@localizedTitle' //title localized in french or english
    var disqus_url = '@articleUrl' //article full url
    var disqus_shortname = 'mydisqusshortname';

    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>

我认为这可以让我在同一篇文章中将英语评论与法语评论分开。但是,这似乎并不关心这些参数,文章的评论的法文版本出现在文章的英文版本上。 但是,Disqus UI已正确本地化(Disqus在法语页面上是法语,在英语页面上是英语)。

我是否缺少一个参数?这些网址是否过于相似,无法区分为两个独立的主题?

1 个答案:

答案 0 :(得分:0)

我会回答我自己的问题,我的唯一标识符不够“独特”。

所以我在标识符中添加了一个哈希,我的主题现在按预期分开了。请参阅Disqus Loading the same comments for dynamic pages以供参考。