Последняя версия
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 и перестану отвечать на вопросы в комментах :)

11.05.2015 20:05
+ 0 -
Геннадий
Господа и дамы. Если вы не обладаете даже элементарными навыками и знаниями о том, что такое HTML, как вставлять JavaScript на страницу и что делает CSS - вы не туда попали. Этот скрипт предназначен для рук, знающих, что делать. Хотя бы примерно знающих. Если вы вообще ничего не знаете - обращайтесь на биржу фрилансеров или веб-студию, заказывайте работу у них.
17.05.2015 16:19
+ 0 -
Олег
Здравствуйте, Геннадий. Установил вашу систему комментирования на сайт и залил его на проплаченный хостинг beget. В итоге комментарии добавляются, но если залогиниться, то кнопки "скрыть" и "удалить" не работают, а при перезагрузке страницы я вылетаю из админки. Тот же сайт на localhost работает исправно. Не подскажете, в чём может быть проблема?
17.05.2015 19:33
+ 0 -
Геннадий
Здравствуйте. Очень похоже, что слетает авторизация ("скрыть" и "удалить" также требуют авторизации). Это может случаться по двум причинам - хостинг не поддерживает сессии, либо на клиенте не проставляются cookies. Последнее в очень редких и крайне "удивительных" случаях может ограничиваться хостером. Но это было бы очень "удивительно". Первая рекомендация - посмотреть, что возвращается с ajax-ответом (через консоль браузера). Я бы ожидал увидеть там сообщения об ошибке РНР. Если нет, то нужно их включить хотя бы в скрипте (вторая строка ecomment.php - ноль заменять на 1)
17.05.2015 19:44
+ 0 -
Олег
Спасибо. Всё оказалось проще. Я открыл файл PHP на beget и обнаружил там какой-то левый символ в самом начале. Не знаю как он там оказался. Я его убрал и всё заработало :)
Действительно ошибка в PHP.
21.05.2015 12:46
+ 0 -
Игорь
Установил на 2 сайта ( они на одном хостинге)
На одном сайте все работает, на втором нет.
Нетворк пишет Status Code:500 Internal Server Error

Скрипт очень понравился, буду очень раз если все заработает.
21.05.2015 16:28
+ 0 -
Геннадий
Логичным будет предположить, что на втором сайте неверно настроены пути до скрипта. Повторите этапы установки из инструкции. Сравните с настройками того сайта, где работает. Смотрите в консоль браузера - нет ли тем js-ошибок
21.05.2015 17:40
+ 0 -
Игорь
Проверял пути, папки и т.д
Все 1 в 1 как на втором сайте где работает.

POST http://xxx/otziv/ecomment.php
500 (Internal Server Error)

jquery-latest.min.js:4
m.ajaxTransport.sendjquery-latest.min.js:4 m.extend.ajaxecomment.js:33
(anonymous function)jquery-latest.min.js:2 m.extend.eachjquery-latest.min.js:2 m.fn.m.eachecomment.js:4 $.fn.ecommenttest_page.html:24 (anonymous function)

Server:nginx/1.4.1
X-Powered-By:PHP/5.2.11
27.05.2015 13:47
+ 0 -
Геннадий
Необходимо повысить версию рнр до 5.3 или выше.
21.05.2015 16:26
+ 0 -
Сергей
Игорь, а какие у Вас доменные имена?
РУ, РФ или др?
05.06.2015 13:04
+ 0 -
yarik42
Час добрый. При нажимании кнопки "Login" выскакивает окно для ввода пароля, строчка вверху видимо в utf написана, поэтому кракозяблы за место букв, у меня сайт в ср1251. Как это можно исправить?
05.06.2015 13:08
+ 1 -
Геннадий
Здравствуйте. Никак. Можно попробовать перекодировать (пересохранить в нужной кодировке) все файлы скрипта. Однако, формально скрипт написан и поддерживается только в юникоде.

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

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

Новости

21.09.2016

Обновление 1.9.1

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

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

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

Обновление 1.8.1

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


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