Параметры виджета комментариев

Код виджета

Код виджета необходимо вставлять в HTML код страницы в то место где нужно вывести список комментариев.

Код виджета комментариев по умолчанию имеет следующий вид:

<div id="rcb-comments"></div>
<script type="text/javascript">
    RCB = window.RCB || []; RCB.push({widget:"Comments",id: 10});
    (function() {
        var RCBS = document.createElement("script");
        RCBS.type = "text/javascript"; RCBS.async = true;
        RCBS.src = "https://recobox.ru/widget/widget.js";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(RCBS, s.nextSibling);
    })();
</script>

где:

<div id="rcb-comments"></div>

HTML контейнер в котором будет инициализироваться виджет. Данный кусок кода не обязательно должен быть перед основным кодом, он может располагаться в любом месте на странице где нужно вывести комментарии. Атрибут id можно изменить на любой другой, но его нужно будет потом указать в настройках(см. ниже описание параметров).

RCB = window.RCB || [];

Создание переменной в который будет добавлена информация о виджете/виджетах.

RCB.push({widget:"Comments",id: 10});

В созданную ранее переменную добавлется информация о параметрах виджета.
В переменную можно добавлять сразу несколько виджетов:

RCB.push({widget:"Comments",id: 10});
RCB.push({widget:"Comments",id: 12, container: "other-comments"});
RCB.push({widget:"CommentsCount",id: 10});

Параметры виджета

Параметр Тип По умолчанию Описание
widget строка Comments
CommentsCount
Тип виджета.
Comments - виджет комментариев
CommentsCount - виджет количества комментариев
id число null Идентификатор виджета
container строка rcb-comments id селектор тега где будет инициализирован виджет комментариев
lang строка null Локализация виджета. По умолчанию язык берется из настроек виджета в админ. панели если не указан этот параметр.
cname строка URL текщуй страницы Текстовый индентификатор канала с комментариями, по умолчанию устанавливается текущей URL страницы. Если указана даная настройка то настройка виджета "Учитывать GET параметры в URL" будет проигнорирована.
cname_without_params boolean false Удаляет из текущей URL страницы или из cname все параметры оставляя чистый url, не актуален если используется cid. По умолчанию система уже сама удаляет все параметры из названия канала, но в настройках виджета можно использовать настройку "Учитывать GET параметры в URL" и каналы будут создаваться с учетом GET параметров в URL строке. Данная настройка будет полезна когда на какой-то из страниц нужно отключить использование GET параметров.
cid число null Системный ID идентификатор канала, имеет больший приоритет над cname. ID можно увидеть в админ. панели на странице "Список каналов" в первой колонке.
channel_close boolean false Закрывает возможность комментаривания на странице.
order строка latest Сортировка комментариев по умолчанию, возможны значения: latest - от последних к старым, old - от старых к последним, popular - сначала с положительным рейтингом, negative - сначала с негативным рейтингом. Если указан тип сортировки который отключен в настройках виджета, то используется сортировка latest.
size число null Кол-во комментариев на странице, масимум 100.
depth число null Устанавливает уровень вложенности комментариев.
rating_off boolean false Скрывает в виджете звездный рейтинг или кнопки нравится/не нравится.
theme строка null Цветовая цхема виджета. Можно настроить в админ. панели.
messages объект Объект с надписями используемые в виджете.
Пример:
RCB.push({
    widget:"Comments",
    id: 10,
    messages: {
        close: 'Комментирование закрыто!!!',
        commenting: 'Комментировать',
    }
})
Чтобы посмотреть все возможные фразы виджета укажите вместо объекта функцию:
RCB.push({
    widget:"Comments",
    id: 10,
    messages: function(messages) {
        console.log(messages);
    }
})
Данный код выведет в консоле браузера все фразы.
count_container строка null id или css класс тега в которы будет помещено кол-во комментариев, можно настроить в админ. панели в настройках виджета.
count_only_number boolean false Выводит только число кол-ва комментариев в указанном контейнере(count_container) либо в контейнере указанном в админ. панели в настройках виджета.
sso объект null Объект с настройками единой авторизации(Single sign-on).
sso.auth строка null MD5 хеш данных пользователя которе нужно передать в виджет для входа через механизм единой авторизации(Single sign-on). Инструкция
sso.provider объект null Набор данных для добавления собственной иконки авторизации.
sso.provider.title строка null Название способа авторизации при наведении на иконку.
sso.provider.url строка null URL с формой авторизации который будет открыт в popup.
sso.provider.icon строка null Cсылка на иконку, рекомендуется размеры 30*30.

Callback функции

Название Входные параметры Описание
initWidget Функция срабатывающая после инициализации виджета, без параметров.
loggedIn user Успешный вход пользователя, только в браузере пользователя.
Параметры:
user - данные пользователя.
logout user Выход пользователя, только в браузере пользователя.
Параметры:
user - данные пользователя.
subscribe user Пользователь подписался на канал, только в браузере пользователя.
Параметры:
user - данные пользователя.
unSubscribe user Пользователь отписался от канала, только в браузере пользователя.
Параметры:
user - данные пользователя.
addComment comment Пользователь добавил комментарий, только в браузере пользователя. Не вызывается если комментарий попадает в спам или премодерацию.
Параметры:
comment - данные комментария.
deleteComment comment Пользователь удалил комментарий, только в браузере пользователя.
Параметры:
comment - данные комментария.
editComment comment Пользователь отредактировал комментарий, только в браузере пользователя.
Параметры:
comment - данные комментария.
loadNextComments comments Подгрузка следующих комментариев, только в браузере пользователя.
Параметры:
comments - список комментариев.
voteComment comment Голосование за комментарий, только в браузере пользователя.
Параметры:
comment - данные комментария.
voteChannel channel Голосование за канал, только в браузере пользователя.
Параметры:
channel - данные канала.
streamAddComment comment Сoбытие, когда был добавлен новый комментарий, срабатывает у всех пользователей с открытой страницей.
Параметры:
comment - данные комментария.
streamEditComment comment Сoбытие, когда был отредактирован комментарий, срабатывает у всех пользователей с открытой страницей.
Параметры:
comment - данные комментария.
streamApprovedComment comment Сoбытие, когда был подтвержден, администратором или модератором, комментарий, срабатывает у всех пользователей с открытой страницей.
Параметры:
comment - данные комментария.
streamStatusComment comment Сoбытие, когда был изменен статус комментария. Для каждого комментария возникает отдельное событие. Срабатывает у всех пользователей с открытой страницей.
Параметры:
comment - данные комментария.

Пример вызова callback функции:

RCB.push({
    widget:"Comments",
    id: 10,
    addComment: function(comment) {
        // выполняем действие
    },
    loggedIn: function(user) {
        // выполняем действие
    }
})

AJAX загрузка виджета

Пример:

<div id="rcb-comments"></div>
<script type="text/javascript">
    (function() {
        var RCBS = document.createElement("script");
        RCBS.type = "text/javascript"; RCBS.async = true;
        RCBS.src = "https://recobox.ru/widget/widget.js";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(RCBS, s.nextSibling);
    })();
</script>
<script type="text/javascript">
var recoboxAjaxComments = function() {
    RCB = window.RCB || []; RCB.push({widget:"Comments",id: 10});
    Recobox.bootstrap(true);
};
</script>
<button onclick="recoboxAjaxComments()">Загрузить комментарии</button>