Skip to main content

Комментарии с ответами в битрикс

Комментарии с ответами в битрикс

Стандартно в комплексных компонентах битрикса используется компонент forum.topic.reviews, который не предусматривает древовидных ответов на комментарии, как например в соц. сетях.

Получилось реализовать такой функционал стандартными средствами битрикса, с помощью другого компонента blog.post.comment — комментарии к сообщению блога, который входит в состав photogallery.detail.comment — комментарии к фотографиям.

Решение задачи простое, надо просто заменить код вывода forum.topic.reviews на photogallery.detail.comment. Мне это необходимо было сделать в комплексном компоненте news в детальной новости. Но для начала нужно создать блог.

Идем в Рабочий стол → Сервисы → Блоги → Блоги и добавляем новый блог. Важно заполнить Название, название латинскими буквами, включить комментарии и дать доступ на чтение и комментарии всем посетителям. У меня получилось примерно следующее:

Идем в /bitrix/templates/название_шаблона/components/bitrix/news/шаблон_компонента/detail.php, находим код forum.topic.reviews и меняем на:

<?$APPLICATION->IncludeComponent(
	"bitrix:photogallery.detail.comment", 
	"comments", 
	array(
		"IBLOCK_TYPE" => "main",
		"IBLOCK_ID" => "1",
		"ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"],
		"DETAIL_URL" => "/news/#ELEMENT_ID#/",
		"CACHE_TYPE" => "N",
		"CACHE_TIME" => "3600",
		"COMMENTS_TYPE" => "blog",
		"COMMENTS_COUNT" => "50",
		"BLOG_URL" => "news",
		"PATH_TO_SMILE" => "/bitrix/images/blog/smiles/",
		"PATH_TO_USER" => "",
		"PATH_TO_BLOG" => "",
		"COMPONENT_TEMPLATE" => "comments",
		"COMPOSITE_FRAME_MODE" => "A",
		"COMPOSITE_FRAME_TYPE" => "AUTO"
	),
	false
);?> 

Итак, что тут у нас. IBLOCK_TYPE и IBLOCK_ID соответственно тип и ID инфоблока с новостями, "COMMENTS_TYPE" => "blog" — тип комментариев — блог, "BLOG_URL" => "news" это название блога на латинице, которое указывалось при создании. Ну и самый важный параметр это ID новости "ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"] — в детальной новости detail.php, он передается в значении $arResult["VARIABLES"]["ELEMENT_ID"].

Ну и я сделал отдельный шаблон comments для компонента так как надо было модернизировать его внешний вид. Папка со смайлами указывается в параметрах компоненты. У меня это работало в старой версии, но после обновления пришлось изменить вывод вручную в коде самого компонента комментариев. И вот что получилось:

Похожие записи
AJAX в 1C-Битрикс

В компонентах Битрикс есть встроенный функционал для AJAX подгрузки. Его так же можно использовать, например... Читать далее

Использование Битрикс CAPTCHA

Использовать капчу в формах довольно просто, достаточно отметить галочкой нужный пункт. А что если нужна... Читать далее

Работа с собственными таблицами в базе данных Битрикс

Работа с базой данных в CMS 1C-Битрикс осуществляется с помощью глобального объекта $DB. Класс позволяет... Читать далее

Резервное копирование Битрикс файлов и ведения логов действий пользователей

Наткнулся в сообществе разработчиков 1С-Битрикс на очень интересную разработку - модуль, который отслеживает изменения файлов/страниц... Читать далее

Создание компонента Битрикс на примере слайдера

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

Интеграция Битрикс24 с сайтом через PHP

Возникла задача интеграции лендинга с CRM Битрикс24. Лендинг самый обычный на HTML. Необходимо было создавать... Читать далее

Добавить комментарий

*

code