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

05.06.2015 14:10
+ 0 -
yarik42
Скрипт комментариев работает отлично,только одна эта строчка в глаза бросается. Может проще будет найти эту строчку с скрипте и заменить изначально кракозяблами,чтобы при выворачивании в юникод на странице показывались нормальные буквы. Где эту строчку можно поменять?
05.06.2015 16:53
+ 0 -
Геннадий
Не получится. Это будут теже кракозябры, только в по-прежнему в UTF-8
12.06.2015 17:37
+ 0 -
Олег
Можно ли как-то сделать необязательным ввод имени и почты? Например, если пользователь не ввёл имя, то при отправке вместо ошибки отправится имя "Аноним", в случае с почтой, например, "example@mail.ru"?
16.06.2015 11:07
+ 0 -
Геннадий
Про почту уже спрашивали. Не ленитесь читать комментарии, в них есть много ответов. Если коротко, то нет, нельзя.
26.06.2015 10:25
+ 0 -
Светлана
Здравствуйте! Не могу найти информацию - комментарии индексируются поисковиками?
26.06.2015 15:54
+ 1 -
Геннадий
Здравствуйте. При обычной интеграции - нет, так как поисковые боты не умеют или плохо справляются с отработкой JS-скриптов. При серверном варианте интеграции - 100% индексация, так как текст комментов внедряется в разметку страницы.
26.06.2015 16:20
+ 0 -
Светлана
Это очень хорошо) Подскажите пожалуйста, как реализовать серверный вариант?
Еще вопрос - файл ecomment_import.php - что это и как пользоваться?
Спасибо))
26.06.2015 19:38
+ 0 -
Геннадий
ecomment_connector.php - пример серверной интеграции.
ecomment_import.php - скрипт, позволяющий слить комменты с двух страниц в одну. Открывается, редактируются настройки, запускается.
27.06.2015 17:25
+ 0 -
Светлана
А возможно ли сделать "серверную интеграцию", не будучи php - программистом? Вы не могли бы объяснить хотя бы примерно, что нужно сделать? Скрипт Ваш работает отлично, но очень нужна индексация.
14.10.2015 11:53
+ 0 -
Геннадий
Пример серверной интеграции есть в дистрибутиве. В большинстве случаев достаточно его просто подключить на странице и правильно настроить. Он сам поймет, какие скрипты надо подтянуть, подтянет их, отрендерит и выведет в разметку. После чего, JS-скрипты найдут эту разметку и оживят ее кликабельным функционалом. Во всех остальных случаях, увы, общих рецептов нет и не может быть.
05.07.2015 02:19
+ 0 -
Руслан
Геннадий, спасибо большое за ваш скрипт комментариев.

Хотел спросить, в дефолтном виде скрипт уже настроен на 100% индексацию?

Имел ввиду, что ecomment_connector.php не надо трогать?
Объясните пожалуйста подробнее.

Получается содержимое этого файла надо вставлять на каждой странице?
06.07.2015 10:55
+ 0 -
Геннадий
Здравствуйте, Руслан. В дефолтном виде екомменты работают через JS-инициализацию, что плохо индексируется поисковиками. Коннектор как раз нужен для серверной интеграции и надежной индексации.
10.07.2015 11:18
+ 0 -
Валерий
Геннадий, а можно все-таки подробней.
Что нужно сделать в файле ecomment_connector.php
Или какие-то другие манипуляции, чтобы комменты индексировались?
10.07.2015 11:23
+ 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" не существует