-Цитатник

Фальсификации выборов президента: как это делается - (0)

Фальсификации выборов президента: как это делается Не смотря на огромное количество нарушений ...

АЛЫЕ ПАРУСА В ПЕТЕРБУРГЕ - (0)

«Алые паруса» — один из самых известных праздников в Северной столице, ...

Владимир Румянцев.Ангелы и коты - (0)

Владимир Румянцев.Ангелы и коты. Владимир Румянцев родился в 1957 году, рисовать начал в ...

фото Санкт-Петербурга - (0)

Санкт-Петербург Санкт-Петербург невероятно красивый город, думаю даже коренным "питерцам" будет и...

Ближневосточная проблема - простое объяснение за пять минут - (0)

Ближневосточная проблема - простое объяснение за пять минут  простое объяснение ближневосточ...

 -Фотоальбом

Посмотреть все фотографии серии природа фото Andy Mumford
природа фото Andy Mumford
05:54 16.05.2009
Фотографий: 40
Посмотреть все фотографии серии Общая
Общая
04:52 16.05.2009
Фотографий: 1
Посмотреть все фотографии серии позитиф
позитиф
03:00 01.01.1970
Фотографий: 0

 -Я - фотограф

 -Поиск по дневнику

Поиск сообщений в spacesite

 -Подписка по e-mail

 

 -Интересы

создание сайта продвижение сайтов авто бизнес

 -Сообщества

Читатель сообществ (Всего в списке: 1) Photoshopinka

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 15.05.2009
Записей:
Комментариев:
Написано: 1213


Комментарии Disqus в MODx Внедрение

Вторник, 07 Февраля 2012 г. 17:20 + в цитатник

Комментарии Disqus в MODx Внедрение

Система DISQUS, позволяющую подключить комментарии на абсолютно любую страницу сайта в Интернете посредством простого JavaScript одним из лучших начинаний в вебе за последние несколько лет. Это реально работающая штука. Чтобы пользоваться комментариями DISQUS нужно сначала зарегистрироваться в системе и добавить туда свой домен. Затем идем в Tools->install и выбираем код для Other or Custom - Universal code. Система дает два куска кода:

<div id="disqus_thread"></div>
<script type="text/javascript">
  /**
    * var disqus_identifier; [Optional but recommended: Define a unique identifier (e.g. post id or slug) for this thread]
    */
  (function() {
   var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
   dsq.src = 'http://....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>

<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/.../get_num_replies.js' + query + '"></' + 'script>');
})();
// ] ] >
</script>

Помещаем все это в один чанк, коорый подключил внутри контента. И тут начались грабли - MODX считает экранирование CDATA каким-то вызовом сниппета(тут я специально воткнул пробелы, чтобы не распарсился) и на этом загрузка страницы останавливается. Я просто унес эти два скрипта в JS-файлы, вот и всё.

Теперь просто вызываем чанк { { disqus } } в конце контента внутри шаблона страницы. У меня есть небольшая доработка для включения/выключения комментариев. Я сделал новый TV с именем comments и типом drop down list, в качестве значений указав "0||1" по умолчанию 0.

В итоге вызов чанка с помощью Phx преобразился так:

[ + phx:if=`[ * comments * ]`:is=`1`:then=`{ { disqus } }`+ ]

Подразумевается, что Phx уже установлен. Вот и всё.

источник http://webdev.vdzr.ru/articles/disqus-modx

Рубрики:  Создание сайта
MODx
Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку