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

08.01.2013 11:59
+ 0 -
Сергей
Здравствуйте Геннадий!
А как сделать чтобы на комментарии мог отвечать только администратор после авторизации, чтобы получилось что-то на подобие вопрос-ответ?
И еще, есть ли возможность сделать так, чтобы после авторизации администратора при ответах на вопросы не нужно было каждый раз писать свое имя и почту?
08.01.2013 12:16
+ 0 -
Геннадий
Здравствуйте.
1. Прямым способом - никак. Можно отключить возможность ответа. А когда понадобиться, включить эту настройку, ответить и снова отключить. Правильный вариант требует дополнительного программирования (возможно, будет включено в новую версию как настройка)
2. С мейлом тоже самое - никак. Это легко запрограммировать доп.настройками в самом скрипте (всего одно условие прописать). Но в следующую версию не войдет - кому-то может наоборот помешать предустановленный мейл.
20.01.2013 21:32
+ 0 -
Юра
Почему у меня не получается? здесь всё правильно написано в документации? Правильно ли указаны пути к файлам? Ошибок нет? Почему файл jQuery скачивается с разными названиями? Какое должно быть полное название у jQuery? По ссылке из тестовой страници качается jquery-latest.min.js, а в примере полного кода подключения jquery-min.js. Третий час сижу!
21.01.2013 01:02
+ 0 -
Геннадий
Извините, Юра, но я вам ни чем не могу помочь. Ваши вопросы выдают слишком низкий уровень навыков, которых совсем недостаточно даже для такой простой установки. Попробуйте обратиться к знакомым, чтобы они установили скрипт за вас.
24.01.2013 02:16
+ 0 -
Станіслав
У вас удачная концепция. В своем сайте я сумел обойтись без jQuery. Поэтому очень приятной была бы версия дистрибутива без библиотеки. Это возможно?
24.01.2013 10:17
+ 0 -
Геннадий
В теории это, конечно же, возможно. Но пришлось бы переписывать весь JS-обвес, на что уйдет много времени. Тем более, эта библиотека настолько популярна, что встречается на каждом втором сайте, потому не вижу смысла увеличивать (и усложнять) количество кода. Как говорится, "write less, do more" :)
24.01.2013 13:00
+ 0 -
Станіслав
Заменять существующую версию на "чистый" JS нецелесообразно, но сделать две версии - одни плюсы (как на share42). Но, учитывая обьем работы и безплатность дистрибутива, ваш ответ можно понять:)
27.01.2013 19:04
+ 0 -
Саша
А как сделать хранение всех комментов в 1-м файле, что б на всех страницах выводить одни и те же комменты?
27.01.2013 22:59
+ 0 -
Геннадий
Это две разные задачи. Как сделать, чтобы в одном файле хранились - никак без перепрограммирования. А чтобы на всех страницах выводились одни и те же комменты, достаточно стабильно передавать одно и то же значение идентификатора при инициализации скрипта. Скрипт инициализируется автоматически, а в качестве идентификатора берется адрес страницы. Этот идентификатор можно подменить, прописав вместо него что-то свое. Сделать это можно в js-файле на 28 строке. Для серверной инициализации (для умельцев) достаточно будет передать реф прямо в метод рендера списка комментов и формы ответа.

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

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

Новости

21.09.2016

Обновление 1.9.1

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

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

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

Обновление 1.8.1

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


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