Последняя версия
1.9.1

Экологически чистая система комментирования

Документация

страница в процессе наполнения...

Описание дистрибутива

Весь дистрибутив скрипта состоит из четырех файлов:

ecomment.php
Это серверная часть скрипта, обслуживающая AJAX-запросы от страницы с подключенным комментированием.
ecomment.js
Клиентская часть скипта, которая будет отправлять AJAX-запросы на серверную сторону.
ecomment.css
Стилевое оформление списка комментариев. Легко кастомизируется под дизайн вашего сайта простой сменой цветов.
test_page.html
Тестовая страница скрипта с примером интеграции. Для работы должна быть помещена в ту же папку, где лежат предыдущие три файла. Содержит в себе пример инициализации скрипта комментирования.
ecomment_connector.php

Пример серверного варианта интеграции скрипта, когда список комментариев включается в выдачу самой страницы. Может быть полезным для надежной индексации комментариев поисковиками.

Размещение файлов на сервере

Обязательными для работы скрипта являются первые три файла из перечисленных выше + подключенный на странице фреймворк jQuery (в дистрибутив не входит).

Все файлы необходимо разместить в одной папке и настроить в самих скриптах корректные пути. Лучше всего использовать абсолютные пути - от корня сайта, начинаяются со слеша "/".

Все дальнейшие примеры приводятся с условием размещения файлов в корне сайта.

В файле ecomment.js указываем путь до размещения ecomment.php:


    settings = $.extend({
        'ref'		: location.href,
        'http_ref'	: location.href,
        'path' 		: '/ecomment.php'
    }, options),

Параметр path можно передать позднее, при инициализации скрипта на конкретном блоке. Это может быть полезным, когда у вас установлено несколько версий eComment с разными настройками.

Так же на хосте необходимо создать папку для хранения файлов данных с комментариями. Корректный путь до нее необходимо указать в серверной части скрипта ecomment.php:


class ecomment {
    //основные настройки
    private $store = "/store/";
    ...

Подключение стилей и плагина

Для корректного отображения комментариев необходимо подключить в заголовке страницы (между <HEAD> и </HEAD> ) файл стилей ecomment.css и сам плагин ecomment.js.


    <link rel="stylesheet" href="/ecomment.css" type="text/css" media="all">
    <script type="text/javascript" src="/ecomment.js"></script>

Содержимое файла ecomment.css можно перенести в ваш основной файл стилей. В таком случае, отдельно подключать этот файл уже не нужно, что благоприятно скажется на производительности.

Все правки внешнего вида комментариев удобнее будет вносить в отдельный css-Файл (или ваш основной стиль), не затрагивая сам ecomment.css. В будущем, это позволит вам легко обновлять версию скрипта целиком, без повторного внесения правок в ecomment.css.

Инициализация комментариев

Для инициализации комментариев необходимо в нужном месте разметки вашей страницы разместить пустой контейнер и навесить на него сам плагин. После загрузки скрипт самостоятельно создает необходимые HTML-контейнеры, обвешивает их JS-скриптами и делает первый AJAX-запрос к серверной части ecomment.php для получения списка комментариев, принадлежащих текущей странице. Плагин может принимать объект с параметрами инициализации. Например, можно передать ref параметр для вывода комментариев определенной страницы, не пренадлежащих той, с которой запускается скрипт. Такой пример включен в тестовую страницу дистрибутива.


    <div class="ecomment_wrapper"></div>
    <script>
    // одиночное подключение скрипта на странице
    $('.ecomment_wrapper').ecomment()
    </script>

    <div class="ecomment_wrapper" rel="some_ref_one"></div>
    <div class="ecomment_wrapper" rel="some_ref_two"></div>
    <script>
        // многократное подключение скрипта на странице
        $('.ecomment_wrapper').each(function(){
            $(this).ecomment({
                ref: $(this).attr('rel')
            });
        });
    </script>

В примере с многократным подключением в параметре rel передается идентификатор страницы, с которой будут браться комментарии. Например, вы можете выводить на главной странице сайта блок с "последними отзывами" и блок с сообщениями из рубрики "вопрос-ответ".


    <div class="ecomment_wrapper" rel="http://mysite.com/feedback.html"></div>
    <div class="ecomment_wrapper" rel="http://mysite.com/faq.html"></div>

ВАЖНО!

Некоторые вопросы в комментариях могут остаться без ответа без объяснения причин. Основная причина в таких случаях - или я его еще не прочитал, или ответ уже много раз звучал ранее. Не поленитесь полистать комментарии и воспользоваться поиском.

... когда-нибудь я сделаю раздел FAQ и перестану отвечать на вопросы в комментах :)

09.03.2013 02:02
+ 0 -
Игорь
Большое спасибо! Извините пожалуйста за мою неосведомленность. Первый раз сайт пишу =) Вижу все сообщения в сендмейл! ))
09.03.2013 05:11
+ 2 -
Артем
please help
Все супер, установил работает очень нравится, только вот есть проблема
1 После заполнения форм скрипт дальше не движется
2 Ни button ни lоgin не шевелится, нажимаю на кнопку, а она как не активная
только после перезагрузки страници все срабатывет. И comments появляется и login через пароль осуществляет вход. Может что с моими путями?
1 js (var ecomment_path = '/ecomment/ecomment.php';)
2 php private $store = 'ecomment/store';
2 или с кривыми руками?
3 Дальше возможных настроек не лез.

p.s тестирую сайт на бесплатном хосте
09.03.2013 10:16
+ 1 -
Геннадий
1. Посмотрите в консоль, есть ли на странице JS-ошибки. Скрипт красиво работает из-за обилия AJAX-функцией. То есть, очень много обработок на клиенте. И если на клиенте есть еще какие-то глючные скрипты, то они могут помешать нормальной работе еКомментов.
2. Все пути до директорий (папок) должны заканчиваться слешами. Если путь "отсчитывается" от корня сайта, то слеш нужен и в начале. То есть '/ecomment/store/'. Сама папка 'store' при этом уже должна существовать и иметь достаточные для записи права доступа.
(через обратную связь скиньте мне ссылочку на ваш сайт, посмотрю вживую на проблему)
09.03.2013 18:40
+ 0 -
Федор
Геннадий, скажите пожалуйста, а нельзя ли поправить скрипт так, что-бы он работал просто без премодерации, а то при отключенной премодерации он неистово глючит... ПомниЦо вы мне говорили убрать некоторые строчки, что-бы пользователь смог ставить "лайки" только тогда, когда он уже что-то кому-то ответил, так вот - после того как я эти строчки убрал, ставить лайки может теперь только админ, а пользователь (даже который ответил) - все равно не может. И еще, после того как администратор сообщение не утвердил еще, оно показывается всем только с меньшей прозрачностью... А при включенной премодерации оно было доступно для просмотра только админу...
P.S. Если это требует огромных усилий, то просто скажите.
P.P.S. Вы наверное меня уже тихо ненавидите... Простите, если что :) Просто я думаю было бы неплохо в следующих версиях выкладывать скрипт и без премодерации - полностью рабочий (лично мое мнение).
09.03.2013 19:43
+ 0 -
Артем
Спасибо разработчику, все разобрался, все дело было в путях. Все удивительно работает как на Вашем примере.
Вот если не трудно ask me не понятно почему на denvere не видно скрипта. Может что с настройками в denvere?
09.03.2013 22:41
+ 0 -
Геннадий
У меня, кстати, тоже на денвере все крутится. Единственное, что может отличаться, у меня везде на UTF-8 настроено. А денвер, если правильно помню, по умолчанию с cp1251 работает. Пальцем в небо - может быть из-за этого что-то не работает. Или что вы подразумеваете под фразой "не видно скрипта"?
10.03.2013 00:53
+ 0 -
Артем
Есть исходные одинаковые files на denvere и на реальном хостинге
-на denvere, при открытии на странице ничего не отображается (нет никаких form тем более comments)
-на хосте все работает как часы.
И еще, если бы в кодировке было дело то скорее всего были бы какие то символы, а так совсем пустое поле.(исправьте если ошибаюсь)
Кстати такая проблема не только со скриптом eComments но и скриптом голосования на сайте и поиском.....
Все время нужно проверять на реальном хосте.
10.03.2013 17:53
+ 0 -
Артем
Спасибо, попробую
10.03.2013 18:07
+ 0 -
Артем
Разобрался, для теста на локальном сервере php
script-ов я сделал такой путь:
НА denvere
1 если запускать из под какой нить программы после открытия строки в браузере нужно убрать полный путь так что бы он начинался не c:\http\111\222\localhost\mysite.com а так
localhost\mysite.com\ - меня это весьма напрягло.
И другой путь
2 Сменил локальный denver на Open Server 4.7(хотя в нем так же не работает скрипт если запускать страницу под разных редакторов)
удобно тем что в трее появляется окошко в котором есть папка сайта нажав её будет открыт сайт правильно мне это понравилось. Удачи всем
09.03.2013 22:36
+ 0 -
Геннадий
Видимо, вы не те строчки удалили. И как после этого оно может начать глючить - вариантов уйма, все зависит от того, какие строчки были неверно удалены))
Давайте так поступим - скачивайте последнюю версию без всяких изменений. Настраивайте как надо. И отписывайтесь, какие у вас глюки. Я это буду править и обновлять версию. Просто у меня ничего не глючит. Но я допускаю, что не все варианты (комбинации) настроек протестировал, и где-то есть косяки.
09.03.2013 23:22
+ 0 -
Федор
Закомментировал строчку 769, где "if($this->moderate){" и строчку 776, где "} else return true;" - показывает все время только 1 сообщение об ошибке, при нажатии на кнопку рейтинга: "Оценивать сообщения могут только те пользователи, которые оставили в теме обсуждения хотя бы один комментарий" - и так постоянно, даже если ты и писал сообщения... К слову, должно же выдавать сообщение об ошибке совсем другое, по типу: "Вы уже оценивали этот пост" или "Авторы не могут оценивать свои сообщения". Это я в тему Вашего скрипта "без премодерации" (если ее отключить), надеюсь еще помните этот разговор :)
11.03.2013 11:20
+ 0 -
Геннадий
Смотри, читаю прямо с 769й строки. На 769й узнаем, включена ли премодерация. Если выключена, то сразу говорим - рейтить разрешено. Соответственно, проверку на "соучастие в обсуждении" не делаем. Чтобы она делалась, мы убираем проверку на включенность премодерации (769 и 776). Дальше идет в ход проверка на "соучастие" - если в текущем списке комментов есть посты, оставленные текущим пользователем, и эти посты имеют статус промодерированного (хотя бы один), то сразу возвращаем "разрешение рейтить". Если нет, то цикл проходит полностью и сразу после него формируется сообщение об ошибке (775я) и в самом конце выкидывает "рейтить запрещено" (780я). Так что в логике тут все чисто. Скорее всего, у пользователя действительно нет постов в обсуждении. Отметка об участии пользователя в обсуждении сохраняется в кукисах. Если их почистить или если их нет (другой браузер или комп), то система уже не опознает пользователя как соучастника.
10.03.2013 00:35
+ 0 -
Артем
И еще вопрос, что если источник скрипта подключенный в области head пропадет, ну или устанет поддерживать скрипт по установленному на моем сайте адресу?
Есть ли у Вас какие нибудь пути отступления?
11.03.2013 11:24
+ 0 -
Геннадий
Не понял вашего вопроса. Все скрипты хранятся у вас локально (на вашем хосте), как и сохраненные комменты.
12.03.2013 03:36
+ 0 -
Федор
Геннадий, видел Ваш комментарий... Но позвольте, как же модератор может одобрить комментарий пользователя, если премодерация выключена?
P.S. Если вы имеете в виду зайти под админкой и утвердить комментарий - пробовал, ситуация та же. Хотя эта затея мне казалась глупой, премодерация то отключена.
12.03.2013 11:22
+ 0 -
Геннадий
Давайте уже на переписку по почте перейдем, чтобы здесь комменты в чат не превращать)
Отвечая на ваш вопрос - фраза одна для обоих случаев. Только в случае с отключенной премодерацией метка о промодерированности сообщения ставится автоматически.
09.03.2013 13:44
+ 0 -
Федор
Хостинг не ho.ua случайно?
09.03.2013 19:17
+ 0 -
Артем
так точно
09.03.2013 22:51
+ 0 -
Федор
Тоже до недавнего времени на нем сидел пока не обнаружилась такая же проблема... С тех пор сижу на hostinger.com.ua - на ихнем хостинге все работает отлично :)
P.S. Бытует мнение среди народа, что ho.ua специально в начало документа встраивают какой-то javascript, который блокирует многие технологии (в том числе и AJAX без которого этот скрипт, глубокоуважаемого мною автора Геннадия, работать будет только после обновления страницы - как вы и описали). По этому выбор за вами... Я бы посоветовал все таки сменить хостинг.
10.03.2013 20:45
+ 0 -
Ринат
два дня искал что-то подобное, то меня не устраивало то не шло, и вот нашел ваш сайт с отвечающим!!! Админом. И тоже блин не идет...
СУК (система управления контентом) - Wordpress
В Хеадер добавил
В пост строку вставил
установил плагин для работы с ЯваСкриптом
ну блин никакого эффекта

залил ТЕСТ-страницу прилагаемую к скрипту на хост - все отлично - супер
но в вордпрессе - нифига

подскажите что еще посмотреть - подправить.
очень нужно, заранее спасибо.
11.03.2013 11:25
+ 0 -
Геннадий
Лучше всего будет посмотреть на проблему вживую. Пока что слишком мало данных о проблему, чтобы даже как-то идентифицировать ее.
15.03.2013 12:46
+ 0 -
Владимир
Форма на странице появляется, но Логин не активен. Слеши ставил и в конце и без, всё бесполезно.
private $store = '/latest/store/';
var ecomment_path = '/latest/ecomment.php';
Если ввести данные и хоть поставить галочку я не робот, хоть нет, просто перегружается страница и ничего не происходит. Если ничего не писать, а прсто нажать Добавить, то тоже просто перезагружается страница. В чём может быть дело?
15.03.2013 13:35
+ 0 -
Геннадий
Скорее всего, неверно подключен ecomment.js либо какие-то другие скрипты (ошибки в них) препятствуют корректной отработке ecomment.js
15.03.2013 14:04
+ 0 -
Владимир
Сейчас все работает правильно. И ошибки показывает и
написано, что после модерации появиться комментарий, но логин не активный. Можно ли войти в админ по прямой ссылке.
15.03.2013 14:05
+ 0 -
Геннадий
Посмотрите в комментах на этой странице. Проблема с активностью кнопки логина уже обсуждалась.

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

Имя:
Email:
Комментарий:
- я не робот
eComment v.1.9.3

Новости

21.09.2016

Обновление 1.9.1

Пакет правок по заявкам пользователей.…
04.07.2016

Пожелания к обновлению

Сбор пожеланий от пользователей для очередного обновления функционала скрипта…
12.05.2015

Обновление 1.8.1

Небольшие косметические правки.…
Все новости


Обращение к незаданной переменной post
Указанная операция "get_list" не существует