Пусть и ценой небольшого увеличения времени страничной загрузки, их виджеты комментариев отличаются богатым функционалом, как при возможности добавления отзыва, так и при последующей модерации.
Однако по непонятному умыслу создателей данного сервиса наличие блока с комментариями определяется только на страницах сообщений, и ни разу на статичных. А ведь зачастую эти самые страницы содержат весьма информативную часть блога и наличие возможности оставить отзыв к ним подчас необходимо.
По традиции, мы против несправедливости мира, а посему скажем дружно "Ай-яй-яй" разработчикам и попробуем исправить это досадное недоразумение. Тем паче добавить комментарии Disqus на статичные страницы блога довольно просто, как оказалось, потребуется всего лишь крошечная трепанация нескольких строк кода в шаблоне.
Установка блока комментариев от Disqus на статичные страницы Blogger.
Изначально, при добавлении виджета комментариев с самого сервиса Disqus, в блоге должен присутствовать гаджет с наименованием "Disqus for (здесь название вашего блога)". Для простоты именно эту фразу и ищем в поле редактирования HTML. Можно просто искать вхождение "Disqus". Полный код виджета, отвечающий за размещение комментариев от Disqus выглядит следующим образом:
<b:widget id='HTML2' locked='false' title='Disqus for BloggaRolla' type='HTML'> <b:includable id='main'> <script type='text/javascript'> var disqus_shortname = 'bloggarolla'; var disqus_blogger_current_url = "<data:blog.url/>"; </script> <b:if cond='data:blog.pageType != "item"'> <style type='text/css'> #comments {display:none;} </style> <script type='text/javascript'> (function() { var bloggerjs = document.createElement('script'); bloggerjs.type = 'text/javascript'; bloggerjs.async = true; bloggerjs.src = 'http://'+disqus_shortname+'.disqus.com/blogger_item.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(bloggerjs); })(); </script> </b:if> <style type='text/css'> .post-comment-link { visibility: hidden; } </style> <script type='text/javascript'> (function() { var bloggerjs = document.createElement('script'); bloggerjs.type = 'text/javascript'; bloggerjs.async = true; bloggerjs.src = 'http://'+disqus_shortname+'.disqus.com/blogger_index.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(bloggerjs); })(); </script> </b:includable> </b:widget>На этом участке находим строку <b:if cond='data:blog.pageType == "item"'> и чуть дальше нее - строку </b:if>. Эти отрезки и отвечают за показ блока комментариев только лишь на страницах сообщений. Безжалостно удаляем эти строки. Для подробностей смотрим изображение ниже:
После их удаления остается сохранить шаблон. Вожделенные комментарии должны отобразиться на статичных страницах.
Для возвращения настроек в исходное состояние потребуется вновь добавить изъятые строки в шаблон блога.