Главная | Блоги | Блог Константин Бояндин

Формат блога идеален для личного дневника, анонсов, новостей и прочих записей, актуальных не слишком долгое время. Однако создавать статьи удобнее при помощи CMS, ориентированной изначально на рубрикацию, относительно редко изменяемый контент.

Очевидным кандидатом является Вики, например, Mediawiki (на нём работает Википедия). Но как быть с комментариями и обратной связью? Ниже я поясняю, как скрестить MediaWiki и сервис комментариев Disqus. Итогом скрещивания стала ИНФОвики, где отныне я и буду публиковать статьи и руководства.

Вопрос, который могут задать: зачем ставить именно Disqus, если у того же MediaWiki есть расширение, позволяющее добавлять комментарии? Причины минимум две:
- вы управляете лентами комментариев от Вики вместе с другими такими же лентами в едином командном центре на Disqus
- вас не так сильно будут беспокоить вопросы спама в комментариях, потому что ленты не видны поисковым роботам

Скрещивание не составляет большого труда. На странице установки кода Disqus:

http://disqus.com/admin/tools/channel-name/

где channel-name - идентификатор вашего канала (форума, ленты комментариев) Disqus, есть два фрагмента кода, первый и второй. Первый вписывается туда, где должны отображаться управляющие элементы Disqus. Второй - перед тегом </body>.

Изменения делаются в основном файле темы ("шкурки", skin) MediaWiki, они находятся в каталоге skins/ в каталоге, куда установлен Вики-двигатель.

Темой по умолчанию является MonoBook, её головной (управляющий) файл MonoBook.php. Ниже приведены краткие указания по тому, как вставить управляющий код Disqus в файл темы.

0a. Установите Mediawiki. Предполагается, что это не составит большого труда.

0b. Регистрируетесь на Disqus и создаёте канал (учётную запись сайта).

1. Перейдите в каталог skins/ и обязательно сделайте резервную копию головного файла темы (в нашем примере MonoBook.php).

2. Найдите в файле темы следующий вызов:

<?php $this->html('bodytext') ?>

3. Вставьте после него следующий фрагмент:

<?php if (!isset($_GET['action'])) { ?>
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/channel-name/embed.js"></script><noscript><a href="http://channel-name.disqus.com/?url=ref">Просмотреть ветвь дискуссии.</a></noscript><a href="http://disqus.com" class="dsq-brlink" >комментарии поддерживаются <span class="logo-disqus">Disqus</span></a>
<?php } ?>

не забыв заменить channel-name на подлинное имя вашего канала.
Пояснение: комментарии не будут отображаться, если установлен параметр action - иными словами, если выполняется действие, отличное от отображения страницы. Нам незачем комментарии на страницах редактирования и т.п.

4. Найдите тег </body> и перед ним вставьте второй блок кода:

<?php if (!isset($_GET['action'])) { ?>
<script type="text/javascript">
//<![CDATA[
(function() {
  var links = document.getElementsByTagName('a');
  var query = '?';
  for(var i = 0; i < links.length; i++) {
    if(links[i].href.indexOf('#disqus_thread') >= 0) {
      query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
    }
  }
  document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/channel-name/get_num_replies.js' + query + '"></' + 'script>');
})();
//]]>
</script>
<?php } ?>

не забыв заменить channel-name на подлинное имя вашего канала.

5. Открываете заглавную страницу вашей Вики и смотрите, появилось ли поле ввода комментариев. Если нет, вызовите главную страницу, нажмите на "править", и замените в адресной строке

&action=edit

на

&action=purge

и вызовите получившийся адрес для сброса кэша. После этого повторяете попытку.

Чтобы комментарии были и в других темах, в головном файле каждой темы произведите точно такие же изменения.

Замечания, комментарии, пожелания принимаются и приветствуются.

Адрес уведомления об обратной ссылке для этой записи:

http://boyandin.info/trackback/127

Вики + комментарии = Викиблог

Формат блога идеален для личного дневника, анонсов, новостей. Однако вести статьи удобнее при помощи CMS, ориентированной изначально на рубрикацию, относительно редко изменяемый контент, например - Вики. В этой заметке я поясняю, на примере MediaWiki, ...

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
Аватар пользователя UksusoFF

Вы не знаете каких нибудь

Вы не знаете каких нибудь способов добавить в disqus авторизацию вконтакта?

Аватар пользователя Константин Бояндин

Таких пока нет, но можно

Таких пока нет, но можно написать в тех.поддержку Disqus и узнать об их планах.

Аватар пользователя UksusoFF

Возможно скоро будет :)

Возможно скоро будет :) http://cackle.ru/welcome

Аватар пользователя Константин Бояндин

Сервис интересный, спасибо за

Сервис интересный, спасибо за ссылку, но таки не сам Disqus.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу. Если у вас есть аккаунт в Gravatar, связанный с этим e-mail адресом, то он будет использован для отображения аватара.
CAPTCHA
Мы хотим убедиться, что данные вводит человек, а не программа
  ____              _      _  __  ____            _____    ___  
| ___| ___ / \ | |/ / | _ \ _ _ |___ | / _ \
|___ \ / _ \ / _ \ | ' / | | | | | | | | / / | | | |
___) | | __/ / ___ \ | . \ | |_| | | |_| | / / | |_| |
|____/ \___| /_/ \_\ |_|\_\ |____/ \__, | /_/ \__\_\
|___/
Введите код, изображенный в стиле ASCII-арт.

Блог в СИНДИКАТе | Проза жизни | ИНФОтека | де Мотиватор | Люди, имена и блоги
Creative Commons License
Если явным образом не выражено иначе, все работы на данном сайте доступны по лицензии
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Перевод текста упомянутой выше лицензии на русский язык
© 2008-2012 Константин Бояндин

Статьи: Обзоры

Хостинг: Blue Light Host, Великобритания

Автор

Новосибирск, весна 2009
В Эфире