在Magento中设置Disqus多个Canonical URL

时间:2017-07-11 06:28:52

标签: javascript php magento disqus

我正在尝试将Disqus整合到我的测试Magento网站上。我正在使用NeoTheme Blog Extension但是我禁用了内置的评论部分并将其更改为disqus。

问题是规范网址。我有一个主要类别http://?????.com/news-and-media/,其中包含子类别/博客和/新闻等。博客页面可以http://????/.com/news-and-media/blog-contenthttp://????/.com/news-and-media/blog/blog-content访问,两者都显示相同的内容。我尝试对每个网址发表评论,但是其他网页上的评论缺失,反之亦然。

这是我目前的进展。

我的phtml

<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = 'http://?????.com/news-and-media/';
this.page.identifier = 'blog';
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://????-com.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

我的local.xml

<neotheme_blog_post_index>
    <reference name="disquscomment">
        <block type="core/template" name="dcomment" template="disqus-comments.phtml" />
    </reference>        
</neotheme_blog_post_index>

你有这个规范的解决方案吗?我似乎无法忘记文档和示例。

https://help.disqus.com/customer/portal/articles/472098-javascript-configuration-variables

How to make Disqus to work with url routing?

1 个答案:

答案 0 :(得分:1)

您必须使用javascript获取rel规范值并将其用作页面标识符。我不确定这是否有效。

var canonical = "";
var links = document.getElementsByTagName("link");
for (var i = 0; i < links.length; i ++) {
if (links[i].getAttribute("rel") === "canonical") {
    canonical = links[i].getAttribute("href")
}
}
var disqus_config = function () {
this.page.url = '';
this.page.identifier = canonical;
};
(function() { // DON'T EDIT BELOW THIS LINE

检查此链接以供参考。 http://javascript.qahowto.com/Obtaining-canonical-url-using-JavaScript-javascript-url-5b420a