Orchard运用 - 整合Disqus评论插件
评论对于博客系统那是必须具备的一个功能,Orchard本身也默认实现了评论模块,你可以集成到其他内容,比如博客随笔,不过觉得有点寒碜,样式有点呆板。幸运的是,你可以简单集成第三方评论插件,比如Disqus, 甚至国内的多说或友言等等。
今天跟大家分享如何用最简单的方式集成Disqus。
其实有一个模块貌似已经实现这一功能,叫"Disqus Comments", 不过在最新版本Ocrhard安装成功后没法设置并启用。所以我只好在主题theme的级别上做最简单的集成。
1. 首先需要修改当前主题Theme的Placement.info, 添加新的Wrapper, 代码如下:
<Match DisplayType="Detail">
...其他设置
<Place Parts_ListOfComments="Content:after.2;Wrapper=CommentsWrapper" />
<Place Parts_CommentForm="-" />
</Match>
也就是这个Wrapper将充当一个全新的封装评论,原先的核心评论列表将被替换。
2. 在当前主题目录的文件夹Views里新建一个文件"CommentsWrapper.cshtml",记事本打开并添加如下代码:
@using Orchard.ContentManagement;
@{
ContentItem item = (ContentItem)Model.ContentPart.ContentItem;
var permalink = (new Uri(HttpContext.Current.Request.Url, Url.ItemDisplayUrl(item))).ToString();
var slug = "";
var uniqueId = string.Format("{0} {1}", item.Id, slug);
var shortName = "sunblognuke";
//Style.Require("DisqusModule");
}
<div id="comments">
<h2>Story comments:</h2>
<div class="disqus-wrapper">
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '@shortName';
var disqus_developer = 1;
var disqus_url = '@permalink';
var disqus_identifier = '@uniqueId';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</div>
注意: "你的网站名"需要你具有Disqus帐号并新建一个App所设置的选项short name。
当你完成以上两步,再次访问随笔详细页面,你即可看到Disqus已无缝集成到页面底部了。
更新
还有最新随笔Orchard运用 - 整合多说评论插件你可能比较有兴趣。
相关资源