Фальсификации выборов президента: как это делается Не смотря на огромное количество нарушений ...
АЛЫЕ ПАРУСА В ПЕТЕРБУРГЕ - (0)«Алые паруса» — один из самых известных праздников в Северной столице, ...
Владимир Румянцев.Ангелы и коты - (0)Владимир Румянцев.Ангелы и коты. Владимир Румянцев родился в 1957 году, рисовать начал в ...
фото Санкт-Петербурга - (0)Санкт-Петербург Санкт-Петербург невероятно красивый город, думаю даже коренным "питерцам" будет и...
Ближневосточная проблема - простое объяснение за пять минут - (0)Ближневосточная проблема - простое объяснение за пять минут простое объяснение ближневосточ...
Комментарии Disqus в MODx Внедрение |
Комментарии 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 уже установлен. Вот и всё.
Рубрики: | Создание сайта MODx |
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |