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

28.01.2016 23:26
+ 0 -
Владимир
Все сделал по инструкции, но выдает ошибку
Не удалось сохранить файл данных с комментариями.
Указанная директория хранения файлов не существует.
Папка store в корне сайта есть
29.01.2016 10:52
+ 0 -
Геннадий
Проверьте правильность указанного пути до этой директории. Если скрипт говорит, что не существует, значит по указанному пути ее действительно нет.
31.01.2016 10:26
+ 0 -
Денис
Думаю что отделив php от html в отдельную папку шаблонов скрипт станет более востребован
02.02.2016 19:04
+ 0 -
Геннадий
Ваша правда. Но есть два "но": одним из требований скрипта является минимальное количество файлов; другим - простота установки. Если вы заглянули внутрь, то наверняка заметили, что в шаблонах очень много кода. Следовательно, чтобы выносить шаблоны из основного файла, понадобится прикручивать ещё и довольно мощный шаблонизатор. Кроме разрастания количества файлов, получим ещё и неограниченное и непредсказуемое количество багов, связанных с неумелым редактированием пользователями шаблонов. В итоге, нарушаем основные требования к продукту. Ну а тем, кто в теме, не составит труда поправить шаблоны прямо в коде или отнаследоваться и целиком переопределить методы рендера.
08.02.2016 21:35
+ 0 -
Арсен
Геннадий, а есть ли возможность подключить автоматом все комментарии, т.е. подтянуть все идентификаторы и отобразить вна одной странице, например на главной, что-то вроде последние комментарии сделать?
09.02.2016 12:35
+ 0 -
Геннадий
Скриптом не предусмотрен такой функционал. Сам по себе он не знает, на каких других страницах он задействован, следовательно, откуда брать списки комментов. Но можно написать обвязку (ваш скрипт) которая будет собирать адреса страниц и скармливать их скрипту комментирования.
12.02.2016 13:15
+ 0 -
Михаил
Здвраствуйте!На простом сайте html работает ?
12.02.2016 16:19
+ 0 -
Геннадий
Здравствуйте. Сервер должен поддерживать выполнение РНР-скриптов. А в каком формате хранится у вас разметка страницы - уже не важно для скрипта.
19.02.2016 02:25
+ 0 -
Alm
Касперский ругается на ecomment.php, пишет что переход на фишинговую ссылку, вылетает при проверке работоспособности скрипта на локальном сервере, на IE. Использую denwer
19.02.2016 16:47
+ 0 -
Геннадий
Возможно, касперский так реагирует на действия денвера, который меняет hosts вашей системы. Но тогда он должен ругаться на все локально развернутые сайты.

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

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

Новости

21.09.2016

Обновление 1.9.1

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

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

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

Обновление 1.8.1

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


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