Модуль «Древовидные комментарии»

advertisement
www.progressivemedia.ru
Модуль «Древовидные комментарии»
Описание модуля
Модуль позволяет организовать на сайте комментирование статей, новостей, товаров и
любой информации, представляемой с помощью элементов инфоблоков.
Подробное описание: http://www.bxdev.ru/posts/modules/treelike_comments_module/
Купить модуль: http://marketplace.1c-bitrix.ru/solutions/prmedia.treelikecomments/
Подключение модуля
CModule::IncludeModule("prmedia.treelikecomments") – подключает модуль
Работа с комментариями
CTreelikeComments::GetList(
array $arSort = array(),
array $arFilter = array(),
int $limit = "",
int $count = false
)
Возвращает список комментариев.
Параметры метода
Параметр
Описание
$arSort
Массив, в котором указывается порядок сортировки. Может содержать
следующие элементы:
ID – ID комментария;
PARENT_ID – ID родительского комментария;
OBJECT_ID – ID комментируемого элемента инфоблока;
DATE – дата;
COMMENT – текст комментария;
USER_ID – ID пользователя, оставившего комментарий;
ACTIVATED – активность комментария (1 или 0);
AUTHOR_NAME – имя пользователя, оставившего комментарий;
EMAIL – электронная почта пользователя, оставившего комментарий;
SITE_ID – ID сайта.
Массив, описывающий фильтр:
ID – ID комментария;
PARENT_ID – ID родительского комментария;
OBJECT_ID_NUMBER – ID комментируемого элемента инфоблока;
DATE – дата;
COMMENT – текст комментария;
USER_ID – ID пользователя, оставившего комментарий;
ACTIVATED – активность комментария (1 или 0);
AUTHOR_NAME – имя пользователя, оставившего комментарий;
EMAIL – электронная почта пользователя, оставившего комментарий;
$arFilter
$limit
SITE_ID – ID сайта.
Целое число – количество возвращаемых записей.
Пример использования
$res = CTreelikeComments::GetList(array("ID" => "DESC"), array(), 10);
while($arComment = $res->GetNext())
{
echo "<pre>"; print_r($arComment); echo "</pre>";
}
CTreelikeComments::Add(
array $arFields
)
Метод добавляет новый комментарий.
Параметры метода
Параметр
Описание
$arFields
Массив, в котором указываются значения полей. Может содержать следующие
элементы:
ID – ID комментария;
PARENT_ID – ID родительского комментария;
OBJECT_ID – ID комментируемого элемента инфоблока;
DATE – дата;
COMMENT – текст комментария;
USER_ID – ID пользователя, оставившего комментарий;
ACTIVATED – активность комментария (1 или 0);
AUTHOR_NAME – имя пользователя, оставившего комментарий;
EMAIL – электронная почта пользователя, оставившего комментарий;
SITE_ID – ID сайта.
Пример использования
$comment = new CTreelikeComments;
$arComment = Array(
"OBJECT_ID" => $element_id,
"COMMENT"=> trim($_POST['COMMENT']),
"AUTHOR_NAME" => $author,
"EMAIL" => $email,
"ACTIVATED" => 1,
"SITE_ID" => SITE_ID
);
if($NEW_ID = $comment->Add($arComment))
{
Echo "ID нового комментария: ".$NEW_ID;
}
CTreelikeComment::Activate(
int $id
)
Активирует комментарий.
Параметры метода
Параметр
Описание
$id
ID активируемого комментария.
CTreelikeComment::Delete(
int $id
)
Удаляет комментарий.
Параметры метода
Параметр
Описание
$id
ID удаляемого комментария.
Работа с событиями
Модуль поддерживает работу с событиями.
OnAfterPrmediaCommentAdd
Событие вызывается после добавления комментария.
Пример обработчика:
AddEventHandler("prmedia.treelikecomments", "OnAfterPrmediaCommentAdd",
"OnAfterPrmediaCommentAddHandler");
function OnAfterPrmediaCommentAddHandler(&$arFields)
{
// код, обрабатывающий событие
}
В массиве $arFields доступны следующие элементы:
Элемент
Описание
ID
PARENT_ID
ID добавленного комментария.
ID родительского комментария (или пустое значение, если комментарий
верхнего уровня).
ID комментируемого элемента инфоблока.
Текст комментария.
ID пользователя, оставившего комментарий (или пустое значение, если
комментарий оставил незарегистрированный пользователь)
Имя незарегистрированного пользователя, оставившего комментарий (или
пустое значение, если комментарий оставил зарегистрированный
пользователь).
Электронная почта незарегистрированного пользователя, оставившего
комментарий (или пустое значение, если комментарий оставил
зарегистрированный пользователь).
OBJECT_ID
COMMENT
USER_ID
AUTHOR_NAME
EMAIL
ACTIVATED
SITE_ID
Активность комментария:
1 – если премодерация выключена,
0 – если премодерация включена.
ID сайта, на котором был добавлен комментарий.
OnBeforePrmediaCommentAdd
Событие вызывается до добавления комментария.
В массиве $arFields доступны те же элементы, что и для события выше, кроме ID.
OnBeforePrmediaCommentVote
Событие вызывается при голосовании за комментарий.
В массиве $arFields доступны следующие элементы:
Элемент
Описание
USER_ID
COMMENT_ID
VOTE_TYPE
ID голосовавшего пользователя.
ID комментария.
Тип голоса:
UP – за («плюс»)
DOWN – против («минус»)
Download