Последняя версия
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.03.2013 19:49
+ 0 -
Дмитрий
Здравствуйте!
Огромное спасибо Вам за скрипт! Очень удобно, лучший функционал из всех что я встречал!
Вот только одно неудобство, добавил на сайт страницу с отзывами, а в форме написано- "Оставить комментарий"!!! Пожалуйста, подскажите как можно исправить на "Оставить отзыв"
05.03.2013 21:02
+ 1 -
Геннадий
Спасибо, греют душу такие слова.
Разметку формы, в том числе ее заголовок можно прямо в коде, в районе 580й строки.
07.03.2013 15:46
+ 0 -
Федор
Добрый день Геннадий. По моему обнаружился небольшой баг, а именно: когда мы в скрипте (ecomment.php) отключаем премодерацию, то любой пользователь сможет поставить "лайк", даже если он и не участвовал в разговоре... Не знаю, может это так было задумано. Прошу прощения за беспокойство.
08.03.2013 21:39
+ 0 -
Геннадий
Все верно. Рейтинг повязан на флаг премодерации, как вы и описали. Вы думаете, что должно быть иначе? (собираю мнения)
08.03.2013 22:37
+ 0 -
Федор
Ну, хотелось бы конечно что-бы и при выключенной премодерации обрабатывались кнопки рейтинга... Нельзя ли это как-то исправить (заказчик уж больно капризный - сначала ему все нравиться, потом хочет отключить премодерацию, а теперь еще что-бы и при выключенной премодерации кнопки рейтинга обрабатывались так как при включенной).
P.S. Я просто думал, что кнопки рейтинга обрабатываются одинаково, вне зависимости от флага премодерации true или false. Извиняюсь за напряги :)
08.03.2013 22:47
+ 0 -
Геннадий
Что ж, не будем глубоко лесть в перепрограммирование, просто удалите целиком строчки 769 и 776 из ecomment.php - там как раз содержится проверка на включенность премодерации.
08.03.2013 22:59
+ 0 -
Федор
Покорнейше благодарю Вас Геннадий, все работает как надо :)
P.S. Не поймите меня неправильно, просто не так уж легко разбираться в чужом коде :(
08.03.2013 10:38
+ 0 -
Игорь
Помогите пожалуйста. Задал в строке private $ mail_target свою почту, в private $notify стоит true но на почту о новых коментариях сообщение не приходит. И еще private $ include_answers стоит true, но почему-то ответы не учитываются как новые строки. И до сих пор не разобрался как после комментирования можно поставить оценку, все время выдает ошибку что должен быть хоть один комент в пользователя, хотя он и есть.
08.03.2013 21:57
+ 0 -
Геннадий
Все сообщения, которые являются "ответами" на комментарии, выводятся в разметке в дополнительной обертке из контейнера с классом "comment_answers". Если ответ вывелся без обертки, то это и не ответ вовсе. Скорее всего и сохранен был как обычный коммент, а не ответ к комменту. Т.е. проверьте наличие\отсутствие JS-ошибок на странице, в результате чего могла не сработать отметка на комменте перед отправкой на сервер. Либо вы "как-то не так" отвечаете на коммент :) Если коммент в обертке, как и должно быть, но не отображается с отступом, то может просто не хватает стилевого оформления.

Если нотификации не приходят - там все очень просто, нечему ломаться. Тут или мейл с опечаткой. Или нотификации в спам попадают. Или, что очень редко, на хостинге какие-то проблемы с отправкой почты (у меня такое однажды было - РНР говорит, что все отправилось успешно, а письма никуда не приходят. В серверных логах ошибку смотреть нужно или сразу в ТП писать).
08.03.2013 22:44
+ 0 -
Федор
Скорее всего у вас хостинг hostinger.ru (com.ua), а у них этот косяк до сих пор, по этому рекомендую воспользоваться костылем: http://linkfight.pp.ua/state/kak-obojti-ne-rabochuyu-mail-na-besplatnom-xostinge.html#more-1211 - люди пишут, что вроде как им помогает, но сам я не пробовал, врать не стану :)
08.03.2013 22:49
+ 0 -
Геннадий
На самом деле, очень редкая проблема, но случается. У меня на TimeWeb было - просто какой-то косяк настройки сервера. ТП довольно быстро отреагировала на запрос и все пофиксила.
08.03.2013 23:01
+ 0 -
Федор
hostinger хостинг неплохой, но не без косяков... Если заняться в плотную решением проблемы отправки сообщения через функцию mail() языка php - можно прийти в тупик :(
P.S. Там просящих у ТП помощи масса, а результатов "0"
08.03.2013 10:53
+ 0 -
Игорь
Еще такое: в интернет эксплорере кнопки утверждения комментариев почему-то не работают и в ие-7 не работает кнопка "логин". Хотя админ может и из других браузеров заходить поэтому наверно не страшно но просто чтобы вы знали, хотя может это только у меня так ..
08.03.2013 22:06
+ 0 -
Геннадий
Если !все! кнопки не работают, то, скорее всего, на странице есть JS-ошибка. Скрипты комментов должны быть кроссбраузерными. Так что ищите ошибки в других скриптах, что отрабатывают на сайте. Их фейл может сказаться на успешности работы других скриптов, в том числе еКомментов.

Если не работает только кнопка логина, то тут может быть просто косяк верстки - был в старых версиях. Там просто строчка с именем и полем ввода условно перекрывала ссылку "login", в результате чего клик приходился на эту строчку и не доходил до адресата - до ссылки логина. В таком случае можно просто прописать в стилях что-то вроде:
.ecomment_form_login {
float: right;
position: relative;
z-index: 10;
}
И все должно работать.
09.03.2013 00:40
+ 0 -
Игорь
На счет почты: запустил на денвере тестовую страницу вашу, дал две рабочие почты. Почему-то не приходит. В спаме пусто. Печально, придется пока так работать, потому что не знаю что может быть. Если сможете что-то еще посоветовать мне то обязательно напишите, буду благодарен. Может когда на хостинг закину все будет работать .. Коментарии выводятся с оберткой но количиство их не учитивается но это не страшно а вот сообщения на почту важны. Может это все изза моего денвера=)
09.03.2013 00:50
+ 0 -
Геннадий
А, вот оно что. Так вы на локалке запускаете? - конечно письма не будут приходить, пока вы не развернете у себя на машине полноценный почтовый сервер, опубликованный в интернете. И дело не в денвере и не в скрипте.

А в денвере, к слову, исходящие почтовые сообщения сохраняются в папке \tmp\!sendmail\

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

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

Новости

21.09.2016

Обновление 1.9.1

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

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

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

Обновление 1.8.1

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


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