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

13.12.2015 12:38
+ 0 -
Игорь
1.9.1 не загружается. Просто ничего не происходит при нажатии на иконку. Старая версия в формате .git. Чем открывать? И почему в таком формате, а не в zip, 7z или rar?
13.12.2015 12:43
+ 0 -
Вячеслав
Скрипту явно не хватает учёта GET параметров страницы.
В основном сейчас это необходимо для комментариев на каждой странице.
Если сделаете, очень великолепный скрипт окажется.
14.12.2015 12:30
+ 0 -
Геннадий
Это уже учтено. При чем давно) см.настройку query в скрипте
18.12.2015 18:26
+ 0 -
vova
Здравствуйте!
Расскажите пожалуйста как вы добавить фото на аву?
25.12.2015 15:48
+ 0 -
Вячеслав
Скажите, а как сделать автоматический учёт? Или через запятую в private $query = 'primer,test' нужно в ручную вписывать адрес каждой страницы?
25.12.2015 15:55
+ 0 -
Вячеслав
Дело в том, что хотелось бы автоматическую настройку. Я добавил страницу, а скрипт он уже универсально установлен в общий шаблон в котором только меняется адрес страницы. И сейчас он не учитывает параметры. Просто неясно как произвести настройку. У меня допустим 100 страниц и они постоянно добавляются, а скрипт установлен один раз.
25.12.2015 21:16
+ 0 -
Геннадий
Скрипт использует адрес текущей страницы как идентификатор. Если вы используете query, то он будет забирать из адресной строки и использовать как часть идентификатора указанные вами переменные
27.12.2015 12:48
+ 0 -
Вячеслав
Я бы с радостью так сделал и стал использовать $query//
Но у Вас нигде не написано как использовать данный параметр. Потому что в данный момент как сейчас у Вас после установки скрипта страницы не учитываются..
11.01.2016 11:49
+ 1 -
Геннадий
Я выше вам описал, как это работает.
Еще раз.
Другими словами.
Специально для вас.
В настройке query указываете через запятую имена тех переменных, которые нужно забирать из адресной строки. Например, у вас есть одна общая посадочная страница site.com/articles?article_id=15 для разных статей, адрес которых различается только query параметром article_id. Укажите его в настройках.
private $query = 'article_id';
И для каждой статьи будет формироваться свой список комментариев.
11.01.2016 12:24
+ 0 -
Вячеслав
Благодарю Вас!!!
11.01.2016 19:06
+ 0 -
Вячеслав
Было бы неплохо, если это происходило автоматически, как в HyperComments.
Если в магазине нужно сделать отзыв под каждый товар, а товаров очень много и они постоянно добавляются, то каждую страницу прописывать очень сложно
12.01.2016 09:39
+ 0 -
Геннадий
Слава, не тормози) ты указываешь только название параметра, а не его значение. В твоём случае это идентификатор товара. Вернее, название переменной, которая отвечает за идентификатор. Типа "id" или "item_id". А теперь прикинь сам, что будет, если скрипт будет сам автоматически учитывать все подряд параметры из запроса. Любое изменение параметров запроса даже к одному и тому же товару будет расценено как совсем другая страница
13.01.2016 15:40
+ 0 -
Константин
Генадий, а если используется не id для статей, а чпу?
02.02.2016 19:06
+ 0 -
Геннадий
ЧПУ используется по умолчанию. Скрипт использует целиком путь до страницы как идентификатор.
15.12.2015 19:02
+ 0 -
Вячеслав
Классный скрипт, спасибо! А можно подробнее описать, как устанавливать серверный вариант (ecomment_connector.php) чтобы комментарии индексировались поисковиками?
16.12.2015 13:03
+ 0 -
Геннадий
Универсального совета нет - движки везде разные. В дистрибутиве есть ecomment_connector.php, который как раз описывает самый простой вариант интеграции. В теории, достаточно подключить этот скрипт в нужном месте вашего шаблона.
01.01.2016 22:53
+ 0 -
Константин
С прошедшим ДР.
Подскажите зачем в ссылке на почту в конце перед знаком #ecomment_list добавляется "?" вопрос. то есть получается страница http://---.ru/news.html?#ecomment_list. я его убрал из скрипта заменив на "#" и там же в ecomment_list убрал "#", так страница стала без вопроса и переход стал быстрее. Может его сразу внести в скрипт или там есть какой то тайный смысл? И поддерживаю письмо от 13.12 эксплоер не даёт скачать скрипт, может добавите его в нормальном архиве или 2 варианта.
11.01.2016 10:49
+ 0 -
Геннадий
Здравствуйте. Спасибо)
В ссылку в письме могут зашиваться различные параметры. Например, страница комментариев (пагинация), на которой появилось обновление и т.д. Когда доп.параметров нет, остается только знак вопрос как разделитель. На скорость загрузки страницы никак не влияет.
О загрузке - проект уже давно перенесен в репозиторий bitbucket.org, на самом сайте ecomment.su уже ничего не хранится. Чтобы загрузить наисвежайшую версию скрипта, перейдите по ссылке на страницу репозитория и воспользуйтесь разделом Downloads (слева в меню навигации)
18.01.2016 01:22
+ 0 -
Eduard Sherbak
gmail помещает в папку спам, не думали сделать поддержку smtp?
18.01.2016 09:05
+ 0 -
Геннадий
В спам может попадать по многим причинам. Сам факт использования сторонних SMTP-серверов не гарант обхода этой проблемы. Как и наоборот. Учитывая то, что подавляющее большинство пользователей даже мейл настроить не могут, поддержка настроек SMTP будет вообще смертельным номером. Может в будущем сделаю опциональные настройки, но не на грядущей неделе точно.

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

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

Новости

21.09.2016

Обновление 1.9.1

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

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

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

Обновление 1.8.1

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


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