
В этой записе е я расскажу как можно заменить встроенную систему комментариев BlogEngine.NET на более продвинутую систему комментариев Disqus.
О преимуществах Disqus я уже писал в предыдущей записе.
1. Зарегистрируйтесь в Disqus
Пройдите регистрацию здесь.
Скопируйте скрипт для последующей вставки в блог.
В дальнейшем его можно будет найти на этой странице.
В Настройках BlogEngine.NET, в секции "Tracking script", вставьте следующий код:
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/username/embed.js"></script><noscript><a href="http://disqus.com/forums/username/?url=ref">View the discussion thread.</a></noscript>
* замените "username" на ваше имя пользователя в Disqus.
2. Отключаем встроенную систему комментариев
Заходим в Настройки BlogEngine.NET и убираем все галочки из раздела Комментарии следующим образом:

Таким образом старая система комментариев больше не будет работать, но все уже написанные комментарии сохранятся.
3. Вставляем скрипт Disqus комментариев
В файле \post.aspx (находящемся в корне) добавляем в самом конце (после CommentView контрола) скрипт Disqus комментариев:
<script type="text/javascript">
var disqus_url = '<%= Post.AbsoluteLink %>';
//disqus_developer = 1;
</script>
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/username/embed.js"></script><noscript><a href="http://disqus.com/forums/username/?url=<%= Post.AbsoluteLink %>">View the discussion thread.</a></noscript>
* замените "username" на ваше имя пользователя в Disqus.
* при дебаге, активируйте disqus_developer переменную.
4. Счетчик комментариев
В файле \themes\MyTheme\PostView.ascx заменяес строку:
<a rel="nofollow" href="<%=Post.RelativeLink %>#comment"><%=Resources.labels.comments %> (<%=Post.ApprovedComments.Count %>)</a>
на:
<% if (Post.Comments.Count == 0) { %>
<a rel="nofollow" href="<%=Post.RelativeLink %>#disqus_thread" class="comments"><%=Resources.labels.comments %></a>
<% } else { %>
<a rel="nofollow" href="<%=Post.RelativeLink %>#comment"><%=Resources.labels.comments %> (<%=Post.ApprovedComments.Count %>)</a>
<% } %>
Теперь подсчет для записей без комментариев (встроенной системы) будет автоматически производиться из системы Disqus.
Все. Установка закончена.
Теперь осталось покапаться в настройках системы Disqus для того, чтобы настроить систему под свои нужды.
P.S.
Импортировать старые комментарии в систему Disqus мне не удалось так как она не понимает формат BlogML используемый в BlogEngine.NET. Если у вас это получилось, буду рад если поделитесь своим опытом.