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 – против («минус»)